MySQL备份恢复ldquo;故障rdquo;总结,MySQL对于字符集的指定可以细化到一个数据库,一张表,一列,应该用什么字符集。但是,传

从A主机备份到B主机

mysqldump -uroot -p vw>vw.sql

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

  • mysql>source /root/vw.sql;
  • ……………………………………………………
  • Query OK, 6748 rows affected (0.13 sec)
  • Records: 6748 Duplicates: 0 Warnings: 0
  • Query OK, 6807 rows affected (0.12 sec)
  • Records: 6807 Duplicates: 0 Warnings: 0
  • Query OK, 6752 rows affected (0.13 sec)
  • Records: 6752 Duplicates: 0 Warnings: 0
  • Query OK, 6659 rows affected (0.13 sec)
  • Records: 6659 Duplicates: 0 Warnings: 0
  • Query OK, 6676 rows affected (0.13 sec)
  • Records: 6676 Duplicates: 0 Warnings: 0
  • Query OK, 6583 rows affected (0.12 sec)
  • Records: 6583 Duplicates: 0 Warnings: 0
  • Query OK, 6598 rows affected (0.13 sec)
  • Records: 6598 Duplicates: 0 Warnings: 0
  • 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
  • mysql>
  • 在B机器上面导入的时候出现以上错误,排除数据库本身问题,,后来通过navicat工具备份A的数据,再次导入机器B却成功了。

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

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

  • MySQL备份恢复“故障”总结-LMLPHP

    09-19 01:44