2141
mysqldump导入导出出现Unknown command错误的解决
首先利用mysqldump从服务器导出数据备份文件:
>mysqldump -h xxxx -P3306 -u xxx -p -C --force --single-transaction --default-character-set=utf8 --databases mydbname > d:\mybk.bk
#-C表示压缩传输,--force表示忽略错误, --single-transaction忘了
将备份文件导入本机时出错
> mysql -uxxx -pxxx localdb < d:\mybk.bk
#出现错误:ERROR at line 2988: Unknown command '\''.
经查,问题的根源是:服务器是linux环境,导出的文件是utf8编码,而本地导入是windows环境,windows将备份文件视为gbk编码,于是导入失败。
解决方法是加上字符集:
> mysql -uxxx -pxxx --default-character-set=utf8 localdb < d:\mybk.bk
#注意是utf8,而不是utf-8,不要短杠。
另外要注意的一点是关于sql语句长度太长的限制问题,最好是将my.ini里的"max_allowed_packet = 1M"改大一点,比如改成10M.