当前位置: 首页 > 知识库问答 >
问题:

WordPress数据库错误 MySQL服务器已消失查询

阎知
2023-03-14

我经常遇到这个错误,以至于php_error日志文件每2秒增加1MB。并且站点非常慢。

我试着把这条线添加到wp-db.php

$this->query("set session wait_timeout=600" );

但这并没有帮助。

Web服务器是IIS 7,最新版本的mysql和wordpress

共有3个答案

蔚学真
2023-03-14

在我的情况下,我有一个巨大的数据库(4.5 GB)从5.7导入到8.0,当运行wp搜索替换时,错误MySQL服务器已经消失,发生在wp-cli对大型表的查询上。因此,我将 /etc/mysql/conf.d/custom.cnf 更改为以下内容:

[mysqld]

datadir = /var/lib/mysql/
socket = /var/run/mysqld/mysqld.sock
pid_file = /var/run/mysqld/mysqld.pid

tmp_table_size = 256M
max_heap_table_size = 256M
max_connections = 2000
open_files_limit = 100000

innodb_buffer_pool_instances = 8

# since 8.0 takes care of:
# innodb_buffer_pool_size
# innodb_log_file_size
# innodb_log_files_in_group
# innodb_flush_method
#https://dev.mysql.com/doc/refman/8.0/en/innodb-dedicated-server.html:
#Only consider enabling innodb_dedicated_server if the MySQL instance resides on a dedicated server where it can use all available system resources. For example, consider enabling if you run MySQL Server in a Docker container or dedicated VM that only runs MySQL. Enabling innodb_dedicated_server is not recommended if the MySQL instance shares system resources with other applications.
innodb_dedicated_server = On

innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_load_at_startup = 1

max_connections = 500

从那时起,不仅sql文件的导入速度提高了10倍(通过利用整机的50-60 GB内存仅10分钟),而且wp-cli的查询现在运行没有任何问题。

不过,帮助我摆脱错误的关键设置(innodb_dedicated_server = On)仅适用于仅运行MySQL的码头服务器容器和VPS /专用服务器。如果mysql服务器在一台机器/一个容器中沿着其他服务器(PHP,Nginx等)运行,那么您需要调整innodb_dedicated_server自己照顾的四个值。

荆亦
2023-03-14

运行SHOW STATUS WHERE Variable_name LIKE“%onn%”查看您有多少打开的连接。我的看起来像这样:

Variable_name        Value
Aborted_connects         1
Connections            629
Max_used_connections     3
Ssl_client_connects      0
Ssl_connect_renegotiates 0
Ssl_finished_connects    0
Threads_connected        2

运行SHOW PROCESSLIST以查看哪些进程处于活动状态。

问题可能是您打开了太多的连接而没有关闭它们。运行这些命令至少可以了解问题所在。

莫逸仙
2023-03-14

这一招适用于所有WordPress版本。打开你的Wordpress目录。该目录将包含以下文件夹:

wp-admin
wp-content
wp-includes

打开“包含”。搜索 wp-db.php 文件。如果找到该文件,请使用文本编辑器将其打开。使用文本编辑器的搜索工具,搜索:

$this->ready = true;

找到该行后,在找到的行之后添加以下行:

//WP Query Gone Away Error Fix
$this->query("set session wait_timeout=600");

你也可以点击https://sub InSb . com/fix-WordPress-error-MySQL-server-has-away链接查看更多详细信息。

 类似资料:
  • 问题内容: 我在办公室运行服务器以处理一些文件,并将结果报告给远程MySQL服务器。 文件处理需要一些时间,并且过程中途结束,并出现以下错误: 我已经听说过MySQL设置 wait_timeout ,但是是否需要在办公室或远程MySQL服务器上更改它? 问题答案: 检查连接是否容易并在需要时重新建立连接可能会更容易。 有关此信息,请参见PHP:mysqli_ping。

  • 问题内容: 我已经在PHP中编写了一些代码,这些代码从.edu域返回html内容。这里简要介绍:PHP中有关Web爬网程序的错误 当要爬网的链接数量很少(大约40个URL)时,该爬网程序运行良好,但是在此数量之后我收到“ MySQL服务器已消失”错误。 我将HTML内容作为长文本存储在MySQL表中,但我不明白为什么在插入至少40-50次后错误会到达。 在这方面的任何帮助都将受到高度赞赏。 请注意

  • 问题内容: 当我尝试来源大型SQL文件(大型查询)时出现此错误。 表中的任何内容均未更新。我尝试删除和取消删除表/数据库,以及重新启动MySQL。这些都不是解决问题的方法。 这是我的最大数据包大小: 这是文件大小: 当我尝试其他方法时… 问题答案: 将此行添加到文件中解决了我的问题。 当列的值较大会导致问题时,此功能很有用,您可以在此处找到说明。 在Windows上,此文件位于:“ C:\ Pro

  • 问题内容: 今天我的一个网站开始展示 这是一个低流量的客户端站点,在Apache 2.2.9(Debian),PHP 5.2.6-1 + lenny3(使用CodeIgniter 1.7.1框架)和MySQL 5.0.51a下运行。我显然是对该错误进行了重新研究,但所有可能的解决方案都表明正在进行的大查询可能会超时并重置连接,或达到数据包限制。但是,事实并非如此,这是一个使用最简单查询处理的小型数

  • 问题内容: 我有一个脚本,每晚都会做很多事情。 它使用在循环中执行的PDO准备好的语句。 前几个运行良好,但是后来我发现它们都因以下错误而失败:“ MySQL服务器已消失”。 我们运行MySQL 5.0.77。 PHP版本5.2.12 该网站的其余部分运行正常。 问题答案: 该B.5.2.9。MySQL手册中的MySQL服务器已消失,列出了导致此错误的可能原因。 也许您处于其中一种情况?-特别是考

  • 我在laravel 4中有4个项目,在laravel 5.4中有1个项目,所以我将它们全部上传到了主机服务器上。4(laravel 4)正在工作,但(laravel 5.4)项目不工作。有这样的错误。错误页 这是我的配置。php和。env在此处输入图像描述