MySQL备份恢复“故障”总结


从A主机备份到B主机

mysqldump -uroot  -p vw>vw.sql

现备份数据库文件,需要恢复到目标机B,B的数据库版本为5.5.23,A机器的mysql版本为5.0.22

  1. mysql>source /root/vw.sql;
  2. ……………………………………………………
  3. Query OK, 6748 rows affected (0.13 sec) 
  4. Records: 6748  Duplicates: 0  Warnings: 0 
  5. Query OK, 6807 rows affected (0.12 sec) 
  6. Records: 6807  Duplicates: 0  Warnings: 0 
  7. Query OK, 6752 rows affected (0.13 sec) 
  8. Records: 6752  Duplicates: 0  Warnings: 0 
  9. Query OK, 6659 rows affected (0.13 sec) 
  10. Records: 6659  Duplicates: 0  Warnings: 0 
  11. Query OK, 6676 rows affected (0.13 sec) 
  12. Records: 6676  Duplicates: 0  Warnings: 0 
  13. Query OK, 6583 rows affected (0.12 sec) 
  14. Records: 6583  Duplicates: 0  Warnings: 0 
  15. Query OK, 6598 rows affected (0.13 sec) 
  16. Records: 6598  Duplicates: 0  Warnings: 0 
  17. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 
  18. mysql>  

在B机器上面导入的时候出现以上错误,排除数据库本身问题,后来通过navicat工具备份A的数据,再次导入机器B却成功了。

经过测试发现是字符集问题导致。解决办法如下

在A机器上面备份,使用如下命令,恢复到B机器,测试OK。

  1. mysqldump -uroot --default-character-set=utf8  -p vw>vw.sql
  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容