MySQL数据库转义错误;无法在 Windows 上导入它

标签 mysql database utf-8 drupal-7

我在 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/

相关文章:

html - 字体(特殊字符)无法在网页上正确显示的问题

PHP MySQL 和队列、表锁定、读写器问题

mysql - 如何在 SQL 查询中设置动态可选 WHERE 子句? (如果参数的值不为空)

MySQL 错误 : : 'Access denied for user ' root' @'localhost'

mysql - 如果一个表没有引用,如何连接多个表?

string - 从字符串创建 utf8 编码数据的 Swift 3 方法

mysql - 查询拒绝使用索引

php - phalcon - 通过循环插入数据不起作用

php - 从方法访问 mySQLi 数据库对象

string - 以字符串形式访问 Vec<&[u8]> 的正确方法