我在 Mac 上使用了一个巨大的 MySQL 数据库(大约 1.2GB,Drupal 安装)。在 Mac 上,我可以毫无问题地在各种开发服务器之间导入和导出它。
现在,我正在尝试将数据库导入 Windows 10 上的 MySQL。当我这样做时,出现以下错误:
C:\Users\Patrick\Sites\devdesktop\omsearch>drush @loc.om sql-cli < ../output.sql
ERROR 2005 (HY000) at line 1253: Unknown MySQL server host 'want' (0)
C:\Users\Patrick\Sites\devdesktop\omsearch>drush @loc.om sql-cli < ../20160415dd.sql
ERROR 2005 (HY000) at line 3023: Unknown MySQL server host 'animal' (0)
这些词“想要”和“动物”是用户配置文件中的文本,而不是 MySQL 服务器主机。因此,不知何故,SQL 文件未正确转义以在 Windows 上导入。
我对 MySQL 不是很精通,但我从 Drupal 数据库配置中知道以下内容:
- 字符集:utf8mb4
- 整理:utf8mb4_general_ci
我尝试过的
我使用了 Drupal 命令行工具 Drush 来导出数据库。这会调用 mysqldrump
并且我使用了默认选项。
然后我尝试了 mysqldump --default-character-set=utf8mb4 DATABASE -r DATABASE.sql
。这也给出了同样的错误。
问题行示例
ifficultâ¦.Im try.I can speak Japanese.\r\n\r\nThe favorite thing is a movie and an animalâ¡','','plain_text'),('node','self_introduction',0,42898,64071,'und',0,'I would love to know people, specially
(这可能无法正确显示,因为 VIM 似乎也无法显示字符。)
最佳答案
问题不在于导出,而在于导入命令。
要在 Windows 上导入,我必须这样做:
mysql DATABASE --default-character-set=utf8mb4 < DATABASE.sql
重要的是要添加的是解释字符集声明:--default-character-set=utf8mb4
.
关于MySQL数据库转义错误;无法在 Windows 上导入它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36643697/