向后兼容的mysql转储

时间:2016-09-27 12:55:19

标签: mysql database

我正在尝试将数据库从mysql 5.7移植到mysql 5.5。 起初,我使用了以下命令

mysqldump -u root -p --all-databases > alldbs.sql

当我尝试在mysql 5.5中导入数据库时​​,我不断收到类似

的错误
  

第572行的错误1064(42000):您的SQL语法出错;   检查与您的MySQL服务器版本对应的手册   在第9行'STATS_PERSISTENT = 0'附近使用正确的语法

它抱怨STATS_PERSISTENT=0声明。

然后我试了

mysqldump -u root -p --compatible=mysql40 --all-databases > alldbs.sql

但这只是给了我

  

第26行的错误1064(42000):您的SQL语法出错;   检查与您的MySQL服务器版本对应的手册   在第22行'TYPE = InnoDB'附近使用正确的语法

它抱怨TYPE=InnoDB语句,应该是ENGINGE=InnoDB。即使使用--compatible选项,它仍会保留STATS_PERSISTENT语句。

有没有办法将mysql 5.7数据库移植到mysql 5.5?

更新

要清楚我的问题,我正在寻找 relialble ,即无骇客的方式来移植数据库。我已尝试将TYPE替换为ENGINE,删除STATS_PERSISTENT等等。其他一切都会出现。每次我移植数据库时,我都不愿意跳过这些箍。我正在通过mysqldump或类似工具寻找可靠的方法来完成这项工作。

如果无法做到这一点,那么我将不得不切换到另一个数据库。

0 个答案:

没有答案