ERROR 1064 (42000) at line 347: 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


MySQL中使用命令进行数据备份还原比较方便,不容易出错;

不过有时出现 (42000)错误,原因是:导入数据时的默认编码(utf8)与导出文件的默认编码(utf8mb4)不一致。


[备份某个数据库]

mysqldump -uroot -p  databaseName > /tmp/mysql.bak.sql;

[备份某个数据库中的某张表]

mysqldump -uroot -p  databaseName tableName > /tmp/mysql.bak.sql;


[还原某个数据库]

mysql -uroot -p  databaseName < /tmp/mysql.bak.sql;

[还原某个数据库中的某张表]

mysql -uroot -p  databaseName < /tmp/mysql.table.sql;


还原数据库加入默认编码时,如下:

mysql -uroot -p --default-character-set=utf8mb4 databaseName < D:/mysql.bak.sql