恢復存儲過程在shell命令提示符(備份和恢復DB):ERROR 1115時從MySQL轉儲文件
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"
在最後的命令,我得到一個錯誤:
ERROR 1115 (42000) at line xxxx: Unknown character set: 'latin1BEGIN'
線XXXX在C:\ dumpfile.sql(第一個存儲過程中的文件):
delimiter varchar(255)) RETURNS text CHARSET latin1
BEGIN
如何解決這個錯誤?
我使用的是Windows和MariaDB的,如果有什麼差別
如果我添加latin1
和BEGIN
之間的一個額外的回車腳本運行正常。這似乎是整個劇本中唯一有問題的路線。仍在尋找解決這個問題的方法。
*在此期間,我將以編程方式在運行腳本之前在每個「BEGIN」之前添加一個回車符,但對我來說這看起來像是一個可怕的黑客。* – JohnB 2012-03-22 15:23:54
我猜dump文件在unix文本格式(只有'\ n'),並且你在Windoze中導入它,它需要'\ r \ n'。 – 2012-03-22 15:43:31
Marc B:謝謝。實際上,在那一行的末尾,只有一個'\ r'。不是'\ r \ n'甚至是'\ n'。 **必須是Windows版本的錯誤** *如果您將您的評論作爲答案,我會檢查它。* – JohnB 2012-03-22 18:03:53