通常,使用mysqldump导出一般用这样的方式:

mysqldump -u root -p --no-data [db-name] > [filename.sql]

但如果在Windows环境下,不管是CMD还是PowerShell,使用这个命令都会有问题,因为这样导出的sql文件,在Linux环境下会报错:

ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected.

这里显然是由于Windows环境下的编码方式和Linux不同导致。

解决方案是:

 mysqldump -u root -p --no-data [db-name] -r [filename.sql]

注意:
不要用>,而要用-r !
如果仅导出schema而不导出数据,请务必加上--no-data这个option


重要
既然可以用mysqldump,就不要使用phpmyadmin,自己导出来的sql文件,自己都报错。还有什么好说的。

标签: MySQL, Windows, Linux, mysqldump, phpmyadmin

添加新评论