从MySQL转储文件恢复存储过程时出现错误1115

时间:2012-03-21 22:28:35

标签: mysql mysqldump

在shell命令提示符下(备份和恢复数据库):

mysqldump -u"username" -p"password" --host="127.0.0.1" --port=3306 --routines --triggers --no-data --add-locks my_db_schema > "C:\dumpfile.sql"
mysqladmin -u"username" -p"password" --host="127.0.0.1" --port=3306 --force DROP my_db_schema
mysqladmin -u"username" -p"password" --host="127.0.0.1" --port=3306 CREATE my_db_schema
mysql -u"username" -p"password" --host="127.0.0.1" --port=3306 --force my_db_schema < "C:\dumpfile.sql"

在最后一个命令中,我收到一个错误:

  

错误1115(42000)第xxxx行:未知字符集:'latin1BEGIN'

C:\ dumpfile.sql中的第xxxx行(文件中的第一个存储过程):

delimiter varchar(255)) RETURNS text CHARSET latin1
BEGIN

如何修复该错误?

我正在使用Windows和MariaDB,如果这有任何区别


如果我在latin1BEGIN之间添加额外的回车符,则脚本运行正常。这似乎是整个剧本中唯一有问题的一行。仍在寻找这个问题的解决方案。

1 个答案:

答案 0 :(得分:2)

我猜测转储文件采用的是unix文本格式(仅限\n),并且您要在Windoze中导入它,期望\r\n

\r - 如果我没记错的话,只有Mac结尾的行结尾。