gpt4 book ai didi

mysql - 无法将 MYSQL 备份还原到新数据库

转载 作者:行者123 更新时间:2023-11-29 01:29:57 25 4
gpt4 key购买 nike

我使用 this 中的指南成功创建了 myDb1 数据库的 mysqldump 文件 myDump.sql线。我还创建了第二个数据库 myDb2,导航到包含 myDump.sql 的目录并尝试将其恢复到新数据库 myDb2 但失败了,我试过的两种方法:

> mysql -u root -p myDb2 < myDump.sql;
> -- entered password

和:

> mysql -u root -p
mysql> -- entered password
mysql> USE myDb2;
mysql> SOURCE myDump.sql;

两者都有相同的错误信息:

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. Query: ' ■-'.

我还想知道是否需要为新数据库使用与旧数据库相同的数据库名称。我尝试使用不同和相同的名称,但出现相同的结果错误。

最佳答案

这可能是编码系统造成的。
我的转储文件是在 powershell 中使用重定向(“>”)生成的,我遇到了同样的问题。输出重定向生成了一个 UTF-16 小端格式的文件。

但是,这可以通过将转储文件转换为 utf-8 来解决。这可以在 emacs 中完成:

M-x 设置缓冲区文件编码系统

然后保存文件并再次导入。

可以使用 GNU"file"实用程序检测文件的编码系统,它也可以在 Windows 中使用,可以在这里找到:http://gnuwin32.sourceforge.net/packages/file.htm
为了将来使用,更好的转储命令如下:

mysqldump <数据库名> -r <文件名>

关于mysql - 无法将 MYSQL 备份还原到新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com