【问题标题】:Existing MySQL database is not importing to localhost现有 MySQL 数据库未导入到 localhost
【发布时间】:2016-01-24 14:06:13
【问题描述】:

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

错误是;

静态分析:

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

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

【问题讨论】:

  • 您应该检查文件是否被截断。看起来文件可能比预期的更早结束。
  • 谢谢尼克,我用记事本打开了文件,一切都在那里。页面下方有注释,但无法细化提到的行号中的“appkey”。它在另一行的记事本中,但不知道如何处理它。 MySQL 说:文档 #1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 148 行的 ''a:5:{s:6:"appkey"' 附近使用正确的语法

标签: mysql phpmyadmin localhost


【解决方案1】:

PhpMyAdmin 有点愚蠢,因为它无法导入它自己导出的内容。它将单引号转义为'' 而不是\',然后在这样的字符串上折断:

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

您可以:

  • 替换''\',或者
  • 通过mysql.exe导入:

    mysql -uuser -ppass dbName < file.sql
    

【讨论】:

  • 我刚刚花了半个小时试图通过 phpmyadmin 导入 .sql 转储,但它一直失败等等 - 使用控制台在 5 分钟内完成,包括我将 mysql 添加到windows路径变量...
  • 就我而言,包含诸如client's 之类的撇号的wordpress cmets 被\' 转义,这破坏了导入本地phpMyAdmin 数据库的语法。 tl:博士;替换\'\"
【解决方案2】:

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

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

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

当你将从 sql 文件的所有内容中替换它时 它会为你工作。

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

【讨论】:

  • 你能指定什么是“旧”和“新”版本吗?
  • 老实说,我从论坛中搜索它,没有提及版本,所以我一个一个地尝试了这两种方法,幸运的是一种对我有用
【解决方案3】:

这可能是因为您导出的数据库太大。

我的解决方案是:

导出方式中选择:

自定义 - 显示所有可能的选项

格式: SQL

输出:

在压缩中 - 选择压缩选项

将数据库导出为 zip ,(例如:database_name.sql.zip) 在本地导入它,如果它不时因花费太长时间而引发错误,您可以通过按恢复并重新提交来恢复导入 - 并再次选择相同的数据库并从之前停止的地方继续。

我附上了一张带有这些设置的图片:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2017-08-01
    • 2013-02-11
    • 2016-12-27
    • 2015-05-02
    相关资源
    最近更新 更多