我尝试将一个大文件导入我的数据库(WordPress),它显示如下错误:
Error
Static analysis:
1 errors were found during analysis.
Unrecognized keyword. (near "ON" at position 25)
SQL query: Edit Edit
SET FOREIGN_KEY_CHECKS = ON;
MySQL said: Documentation
#2006 - MySQL server has gone away
答案 0 :(得分:27)
当我尝试将Drupal数据库迁移到新的本地apache服务器(我在Windows机器上使用XAMPP)时,我遇到了同样的错误。实际上我不知道这个错误的含义,但是在尝试下面的步骤之后,我导入了数据库而没有错误。希望这可以提供帮助:
在C:\ xampp \ php \ php.ini
更改php.inimax_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
在C:\ xampp \ mysql \ bin \ my.ini
更改my.inimax_allowed_packet = 1024M
答案 1 :(得分:8)
点击Apache的配置>选择php.ini并更改以下内容:
max_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
单击MySql的Config按钮并选择my.ini并更改:
max_allowed_packet = 1024M
答案 2 :(得分:3)
发生这种情况是因为导入大型数据库时 phpmyadmin 的导入连接问题,这里是如何将大型数据库导入 phpmyadmin。 首先根据您的数据库大小更改以下文件。
更改 C:\xampp\php\php.ini 处的 php.ini
max_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
在 C:\xampp\mysql\bin\my.ini 更改 my.ini
max_allowed_packet = 1024M
然后从 xampp 控制面板运行 shell 并输入以下命令。
#mysql -p -u root DBname < c:\xampp\DBfolder\db.sql
EnterPassword: (usually it is blank).
然后该过程将开始。 :):):)
答案 3 :(得分:1)
尝试将Wordpess MySQL转储导入新服务器时遇到了同样的问题。经过一个小时的调试后,我不得不从.sql文件中手动删除以下表:
wp_cf7dbplugin_st wp_cf7dbplugin_submits
在某些导致问题的字段中存储了一些非常大的值(可能是PDF文件)。
从脚本中删除表后导入正常。
答案 4 :(得分:1)
当我尝试将Drupal数据库迁移到新的本地apache服务器时,我遇到了相同的错误(我在Windows计算机上使用XAMPP)。实际上,我不知道此错误的含义,但是在尝试了以下步骤之后,我没有错误地导入了数据库。希望这会有所帮助:
Changing php.ini at C:\xampp\php\php.ini
max_execution_time = 600
max_input_time = 600
memory_limit = 1024M
post_max_size = 1024M
Changing my.ini at C:\xampp\mysql\bin\my.ini
max_allowed_packet = 1024M
答案 5 :(得分:0)
只需指定Candle的上述答案即可。
您只需要在my.ini中调整一行:
将my.ini更改为C:\ xampp \ mysql \ bin \ my.ini或单击配置 XAMP>选择php.ini并更改以下内容:
max_allowed_packet = 50M // the value depends on the size of the .sql files you are trying upload.
答案 6 :(得分:0)
对我来说,我的主要目标是为我的wordpress网站创建一个舞台,上面有wordfence。
我使用的是plesk obsidian,不得不更新mariadb以克服此处Error (near “ON” at position 25) while importing Table for WORDPRESS ( A foreign key Error)
的主要问题中的错误,我可以通过阅读此博客文章-https://support.plesk.com/hc/en-us/articles/213403429-How-to-upgrade-MySQL-5-5-to-5-6-5-7-or-MariaDB-5-5-to-10-0-10-1-10-2-on-Linux-
这花了很长时间,但让我通过了上面的错误,但是随后在数据库导入时出现了此错误:
#1062 - Duplicate entry '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xEF\xBF\xBD\xEF\xBF\xBD' for key 'PRIMARY' when find and replace domain on wordfence
我正在执行域查找,并在vscode“ mydomain.com”中将其替换为“ stage.mydomain.com”。原来的问题是,wordfence将二进制数据或其他内容保存到数据库中,而仅在vscode中打开它并保存它就以某种方式对其进行了更改,从而引发了晦涩的duplicate entry error for primary key
针对上述问题的解决方法是不打开或更改vscode中的.sql文件,而是使用linux进行替换。这是我在Mac上执行此操作的命令-
找到并将http:替换为https:-
perl -pi -w -e 's/http:\/\/mydomain.com/https:\/\/mydomain.com/g;' my_db_file.sql
找到mydomain.com并将其替换为stage.mydomain.com-
perl -pi -w -e 's/mydomain.com/stage.mydomain.com/g;' my_db_file.sql
答案 7 :(得分:0)
如果您正在运行Wamp,只需执行以下操作:
max_allowed_packet = 1024M
如果在此之后您遇到错误
脚本超时已通过,如果要完成导入,请重新提交 相同的文件和导入将恢复
然后执行以下操作:
php_admin_value max_execution_time 360
php_admin_value max_input_time 360
在第3个(可选)步骤中获得RiggsFolly(https://stackoverflow.com/a/20364163/3231884)的信用
答案 8 :(得分:0)
我会仔细检查并确保您导入的是压缩文件而不是普通的 .sql 文件。使用 (gzip, bzip2, zip) 并在您的 ini 文件中将您的 max_allowed_packet 从 1M 调整为 5M 或 10M。
希望这对某人有所帮助。
答案 9 :(得分:0)
对我来说这个问题解决了
SQL compatibility mode: ANSI
我在上面更改为 ANSI 并且运行顺利。
我已经设置了这些..
max_execution_time = 120
max_input_time = 120
memory_limit = 512M
post_max_size = 64M
文件很大......所以重新导入同一个文件几次都可以顺利导入。
答案 10 :(得分:0)
经过很长时间,我终于卸载了 MAMP 并尝试了 XAMPP。有效。我不知道问题出在哪里,我编辑了所有限制(用另一个值创建了 my.cnf)但没有成功。使用 XAMPP,这些答案有效...