我正在将我的magento
网站从旧域转移到新域。
我已从旧服务器导出数据库文件,并且已完成所有必要的更改。
现在我正在尝试将导出的文件运行到新数据库中,但是sql
在加载时停留了将近一个小时。
请有人帮忙。
请参阅附加的加载屏幕。 Image here
谢谢。
答案 0 :(得分:0)
我建议备份整个&#c; cPanel'然后重新导入它。这样你就不会搞砸数据库了。如果您仍然需要执行导出和重新导入 - 请确保通过在数据库之前和之后添加密钥来禁用密钥检查。
SET foreign_key_checks = 0;
SET foreign_key_checks = 1;
要成功导入大型数据库,您必须增加“mysql”的内存限制。在' .ini'文件。
答案 1 :(得分:0)
我不会通过GUI界面来实现。你有SSH访问权限吗?如果是这样,以下是如何从命令行运行它,它不受浏览器处理的限制。
转储:
mysqldump -u '<<insert user>>' -p --single-transaction --database <<database name>> > data_dump.sql
负载:
mysql -p -u '<<insert user>>' <<database name>> < data_dump.sql
最好以root用户身份执行此操作,这样您就不会遇到任何麻烦。
在导入时,如果您收到定义者不是用户的错误,您可以创建定义者用户,也可以运行此sed命令,该命令将使用当前的mySQL用户替换文件中的定义者:
sed -E 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=<<new user name>>/g' data_dump.sql > cleaned_data_dump.sql
答案 2 :(得分:0)
正如espradley和damek132所说,结合两个答案。禁用外键检查,如果不是。但是,主要是在导出sql转储时它就在那里。 并通过ssh使用mysql命令行。你应该在半小时内启动并运行。