首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Debian服务器上导入MySQL转储

在Debian服务器上导入MySQL转储
EN

Database Administration用户
提问于 2018-12-13 09:35:37
回答 1查看 1.2K关注 0票数 1

我用MySQL 5.7在Windows计算机上创建了一个测试数据库,并填充了许多数据记录。现在,我用mysqldump创建了一个数据库转储,并希望在我的服务器上导入它(Debian,也是MySQL 5.7)。

在导入转储过程中,我收到了几条错误消息,这些消息都没有帮助。因此,我使用nano编辑器查看了转储文件,发现内容不能正确显示:

代码语言:javascript
复制
��-^@-^@ ^@M^@y^@S^@Q^@L^@ ^@d^@u^@m^@p^@ ^@1^@0^@.^@1^@3^@ ^@ ^@D^@i^@s^@t^@r^$
^@
^@-^@-^@
^@
^@-^@-^@ ^@H^@o^@s^@t^@:^@ ^@l^@o^@c^@a^@l^@h^@o^@s^@t^@ ^@ ^@ ^@ ^@D^@a^@t^@a^$
^@
...

但是,如果我在Windows下打开转储(如Notepad++ ),一切都可以完美地显示。

所以我想到了FTP上传过程中的一个错误。但是,如果我将一个文件从Windows传输到Linux,然后再将它传输回来,那么新文件在Windows下仍然是可读的,但在Linux下是不可读的。

有人能给我个提示吗?谢谢!

小更新:我就是这样做转储的:

代码语言:javascript
复制
.\mysqldump.exe -u root --databases m_data > D:\m_data_dump.sql

更新2:我还尝试使用显式字符集导出:

代码语言:javascript
复制
.\mysqldump.exe -u root --default-character-set=utf8mb4 --databases m_data > D:\m_data_dump.sql

并以:

代码语言:javascript
复制
mysql -u root -p --default-character-set=utf8mb4 < m_data_dump.sql

但山姆的结果。

EN

回答 1

Database Administration用户

发布于 2018-12-17 17:30:20

显示的转储文件的内容似乎是UTF16 --这可能是Windows上重定向操作符的结果(特别是在使用PowerShell的情况下)。

为了避免Windows重定向操作符干扰mysqldump程序发出的数据的编码/格式设置,在转储时使用--结果-file=filename。

请参阅MySQL文档中的https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#option_米斯德_结果档案命令行选项。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/224866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档