2015-11-05 122 views
0

我将我的magento网站从旧域迁移到新域。magento从一个域迁移到另一个域

我已经从旧服务器导出数据库文件,并且已经完成了所有必要的更改。

现在我试图将导出的文件运行到新的数据库中,但sql被加载了近一个小时。

请有人帮忙。

请参阅加载屏幕。 Image here

谢谢。

+0

由于Stack Overflow是一个[编程相关](http://stackoverflow.com/help/on-topic)问答站点,因此我正在投票关闭此问题。你的问题不是关于编程。也许你应该在http://magento.stackexchange.com上发布它呢? – Enigmativity

回答

0

我会建议做一个整个'cPanel'的备份,然后重新导入它。这样你就不会搞乱数据库。如果您仍然需要执行导出和重新导入 - 请确保通过在数据库之前和之后添加此项来禁用密钥检查。

SET foreign_key_checks = 0; 
SET foreign_key_checks = 1; 

要成功导入大型数据库,您必须在'.ini'文件内增加'mysql'的内存限制。

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 
0

正如espradley和damek132所说,结合这两个答案。如果不是,禁用外键检查。但是,大多数情况下,它在导出sql转储时存在。 并通过ssh使用mysql命令行。你应该在半小时内开始运转。