Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Wordpress建立数据库连接时出错-内存问题_Mysql_Wordpress - Fatal编程技术网

Mysql Wordpress建立数据库连接时出错-内存问题

Mysql Wordpress建立数据库连接时出错-内存问题,mysql,wordpress,Mysql,Wordpress,我已经运行这个wordpress站点很长时间了,没有任何问题,但是最近出现了错误“建立数据库连接时出错”。如果我重新启动mySQL,这个问题会暂时修复,但很快就会恢复 在查看MySQL日志文件后,我认为问题是由于某种内存泄漏造成的,但是我很难找到问题的根源 我已了解到问题可能来自未配置的交换文件,但我已按如下方式配置交换: total used free shared buffers cached Mem:

我已经运行这个wordpress站点很长时间了,没有任何问题,但是最近出现了错误“建立数据库连接时出错”。如果我重新启动mySQL,这个问题会暂时修复,但很快就会恢复

在查看MySQL日志文件后,我认为问题是由于某种内存泄漏造成的,但是我很难找到问题的根源

我已了解到问题可能来自未配置的交换文件,但我已按如下方式配置交换:

             total       used       free     shared    buffers     cached
Mem:           987        968         18         26         18        137
-/+ buffers/cache:        812        175
Swap:          255         35        220
如果有人能帮我理解这个日志文件,那就太棒了

MySQL日志文件:

2016-03-17 06:48:45 3575 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
2016-03-17 06:48:45 3575 [Note] Plugin 'FEDERATED' is disabled.
2016-03-17 06:48:45 3575 [ERROR] Function 'innodb' already exists
2016-03-17 06:48:45 3575 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2016-03-17 06:48:45 3575 [ERROR] Function 'federated' already exists
2016-03-17 06:48:45 3575 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2016-03-17 06:48:45 3575 [ERROR] Function 'blackhole' already exists
2016-03-17 06:48:45 3575 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2016-03-17 06:48:45 3575 [ERROR] Function 'archive' already exists
2016-03-17 06:48:45 3575 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.
2016-03-17 06:48:45 3575 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-03-17 06:48:45 3575 [Note] InnoDB: The InnoDB memory heap is disabled
2016-03-17 06:48:45 3575 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-03-17 06:48:45 3575 [Note] InnoDB: Memory barrier is not used
2016-03-17 06:48:45 3575 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-03-17 06:48:45 3575 [Note] InnoDB: Using Linux native AIO
2016-03-17 06:48:45 3575 [Note] InnoDB: Using CPU crc32 instructions
2016-03-17 06:48:45 3575 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-03-17 06:48:45 3575 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-03-17 06:48:45 3575 [ERROR] Plugin 'InnoDB' init function returned error.
2016-03-17 06:48:45 3575 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-03-17 06:48:45 3575 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-03-17 06:48:45 3575 [ERROR] Aborting

2016-03-17 06:48:45 3575 [Note] Binlog end
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'partition'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'BLACKHOLE'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'ARCHIVE'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_METRICS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMPMEM'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_CMP'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_LOCKS'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'INNODB_TRX'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'CSV'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'MEMORY'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'MRG_MYISAM'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'MyISAM'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'sha256_password'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'mysql_old_password'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'mysql_native_password'
2016-03-17 06:48:45 3575 [Note] Shutting down plugin 'binlog'
2016-03-17 06:48:45 3575 [Note] /usr/sbin/mysqld: Shutdown complete

2016-03-17 06:48:46 3606 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
2016-03-17 06:48:46 3606 [Note] Plugin 'FEDERATED' is disabled.
2016-03-17 06:48:46 3606 [ERROR] Function 'innodb' already exists
2016-03-17 06:48:46 3606 [Warning] Couldn't load plugin named 'innodb' with soname 'ha_innodb.so'.
2016-03-17 06:48:46 3606 [ERROR] Function 'federated' already exists
2016-03-17 06:48:46 3606 [Warning] Couldn't load plugin named 'federated' with soname 'ha_federated.so'.
2016-03-17 06:48:46 3606 [ERROR] Function 'blackhole' already exists
2016-03-17 06:48:46 3606 [Warning] Couldn't load plugin named 'blackhole' with soname 'ha_blackhole.so'.
2016-03-17 06:48:46 3606 [ERROR] Function 'archive' already exists
2016-03-17 06:48:46 3606 [Warning] Couldn't load plugin named 'archive' with soname 'ha_archive.so'.
2016-03-17 06:48:46 3606 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-03-17 06:48:46 3606 [Note] InnoDB: The InnoDB memory heap is disabled
2016-03-17 06:48:46 3606 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-03-17 06:48:46 3606 [Note] InnoDB: Memory barrier is not used
2016-03-17 06:48:46 3606 [Note] InnoDB: Compressed tables use zlib 1.2.8
2016-03-17 06:48:46 3606 [Note] InnoDB: Using Linux native AIO
2016-03-17 06:48:46 3606 [Note] InnoDB: Using CPU crc32 instructions
2016-03-17 06:48:46 3606 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-03-17 06:48:46 3606 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' init function returned error.
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-03-17 06:48:46 3606 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-03-17 06:48:46 3606 [ERROR] Aborting

这是服务器内存的问题。从您的
MySQL
日志文件中,我们可以看到InnoDb插件由于无法
初始化缓冲池而无法启动。因此,任何使用InnoDb存储的表都会导致错误

您的变通解决方案

如果我重新启动mySQL,这个问题会暂时修复,但很快就会恢复

之所以有效,是因为重新启动Mysql后可以获得一些可用内存

2016-03-17 06:48:46 3606 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-03-17 06:48:46 3606 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' init function returned error.
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-03-17 06:48:46 3606 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-03-17 06:48:46 3606 [ERROR] Aborting

这是服务器内存的问题。从您的
MySQL
日志文件中,我们可以看到InnoDb插件由于无法
初始化缓冲池而无法启动。因此,任何使用InnoDb存储的表都会导致错误

您的变通解决方案

如果我重新启动mySQL,这个问题会暂时修复,但很快就会恢复

之所以有效,是因为重新启动Mysql后可以获得一些可用内存

2016-03-17 06:48:46 3606 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2016-03-17 06:48:46 3606 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' init function returned error.
2016-03-17 06:48:46 3606 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2016-03-17 06:48:46 3606 [ERROR] Unknown/unsupported storage engine: InnoDB
2016-03-17 06:48:46 3606 [ERROR] Aborting

alexander.polomodov的做法是正确的,但我猜您需要更改的配置是MPM预工作配置中的MaxRequestWorkers(或旧Apache系统上的MaxClient)

您可以使用Apache2Buddy在apache配置上运行诊断。它将计算在给定RAM数量和应用程序大小的情况下,您可以运行多少Apache Worker:
$curl-Lhttp://apache2buddy.pl/ |perl

只需将值更新为Apache2建议的值(我的系统上的配置位于
/etc/Apache2/mods available/mpm_prefork.conf
)。在那之后,只要重新启动Apache,您就可以开始了

若你们的网站并没有处理大量的流量,你们可能会被机器人攻击。检查您的Apache访问日志
$cat/var/log/apache2/access.log


如果您想要更深入的解释、压力测试的方法或如何阻止某些bot流量的想法,我就写了一篇关于这种情况的文章:

alexander.polomodov是正确的,但我猜您需要更改的配置是MaxRequestWorkers(或旧Apache系统上的MaxClient)在MPM预工作配置中

您可以使用Apache2Buddy在apache配置上运行诊断。它将计算在给定RAM数量和应用程序大小的情况下,您可以运行多少Apache Worker:
$curl-Lhttp://apache2buddy.pl/ |perl

只需将值更新为Apache2建议的值(我的系统上的配置位于
/etc/Apache2/mods available/mpm_prefork.conf
)。在那之后,只要重新启动Apache,您就可以开始了

若你们的网站并没有处理大量的流量,你们可能会被机器人攻击。检查您的Apache访问日志
$cat/var/log/apache2/access.log


我写了一篇关于这种情况的文章,如果你想要更深入的解释,一种压力测试的方法,或者关于如何阻止某些bot流量的想法:

你能粘贴一些2016-03-17 06:48:46 3606之前的内容吗?@obe我添加了你要找的部分了吗?你能粘贴一些2016-03-17 06:48:46 3606之前的内容吗?@obe我添加了你要找的部分了吗?我假设错误与此有关。你知道我有什么方法可以进一步跟踪这个问题吗?你可以用这个字符串
innodb\u buffer\u pool\u size=20M将mysql配置文件中的缓冲池减少到20M。也许会有足够的内存以这个缓冲区大小开始,或者您可以为MySQL的max_connections变量设置一个较小的值。请尝试按照我假设的错误与此有关的说明进行操作。你知道我有什么方法可以进一步跟踪这个问题吗?你可以用这个字符串
innodb\u buffer\u pool\u size=20M将mysql配置文件中的缓冲池减少到20M。可能会有足够的内存以这个缓冲区大小开始,或者您可以为MySQL的max_connections变量设置一个较小的值,尝试按照