问题 现有MySQL数据库未导入到localhost


当我尝试将现有数据库导入localhost时,我收到此错误。数据库导入到Web主机服务器,但导入到localhost。

错误是;

静态分析:

在分析过程中发现了2个错误。

Ending quote ' was expected. (near "" at position 28310)
4 values were expected, but found 3. (near "(" at position 28266)

9544
2017-10-25 11:56


起源

您应该检查文件是否已被截断。看起来该文件可能比预期更早结束。 - Nick
谢谢Nick,我用记事本打开文件,一切都在那里。页面下方有一个注释,但无法使用上述行号中的“appkey”。它在另一行的记事本中,但不知道该怎么做。 MySQL说:文档#1064 - 你的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以便在“a:5:{s:6:”appkey“'附近使用正确的语法 - Zaqir Hossan


答案:


PhpMyAdmin有点愚蠢,因为它无法导入它自己导出的内容。它以单引号为单位 '' 代替 \' 然后在这样的字符串上打破它的牙齿:

''I can''t do this anymore!''

你可以:

  • 更换 '' → \', 要么
  • 通过进口 mysql.exe

    mysql -uuser -ppass dbName < file.sql
    

15
2017-11-02 15:15



谢谢,它对我来说是命令行。 - Jawaad
我花了半个小时试图通过phpmyadmin导入一个.sql转储并且它仍然失败等 - 使用控制台在5分钟内完成它包括我花时间将mysql添加到windows路径变量... - PeterTheLobster
在我的例子中,wordpress注释包含撇号,如 client's 正在逃脱 \' 这打破了导入本地phpMyAdmin数据库的语法。 TL:博士;更换 \' → \" - jaegs


在任何编辑器(如记事本++)中打开.sql脚本文件

您需要将'''替换为''(对于新版本的phpmyadmin)

要么

您需要将\'替换为'''(对于旧版本的phpmyadmin)

什么时候你将从sql文件的所有内容中替换它  它会对你有用。

参考:https://stackoverflow.com/a/41376791/2298211


0
2017-10-30 18:22



你能指出什么是“老”和“新”版本吗? - Marcelo Agimóvel
老实说,我从论坛搜索没有提及版本的所以我一个接一个地尝试了两种方法,幸运的是一个适合我 - Hassan Saeed