我的MySQL服务器(运行WordPress的LAMP堆栈的一部分)每隔几个小时挂起一次(给WordPress一个“数据库连接错误”)。
错误日志只显示重启后启动,并在需要重新启动时关闭(“正常关机”)。唯一值得注意的是,它说在重新启动时正在“清除队列”,然后有大约300行这样的代码:
151026 19:04:52 [Warning] /usr/sbin/mysqld: Forcing close of thread 31577  user: 'root'我注意到的唯一奇怪的行为是运行mysqladmin状态显示“问题”迅速增加,可能一直持续到挂起。我在网上看过了,没有多少关于正常范围或行为“问题”应该表现出来的讨论。这是10分钟后的正常运行时间:
Uptime: 521  Threads: 3  Questions: 16667  Slow queries: 0  Opens: 107  Flush tables: 1  Open tables: 100  Queries per second avg: 31.990我将query_cache_size设置为50M,否则my.cnf在Ubuntu14.04上是默认的。这是mysqltuner perl脚本的性能分析:
-------- Performance Metrics -------------------------------------------------  
[--] Up for: 15m 52s (29K q [31.475 qps], 1K conn, TX: 73M, RX: 4M)  
[--] Reads / Writes: 88% / 12%  
[--] Binary logging is disabled  
[--] Total buffers: 226.0M global + 2.7M per thread (151 max threads)  
[OK] Maximum reached memory usage: 290.5M (1.81% of installed RAM)  
[OK] Maximum possible memory usage: 631.8M (3.94% of installed RAM)  
[OK] Slow queries: 0% (0/29K)  
[OK] Highest usage of available connections: 15% (24/151)  
[OK] Aborted connections: 0.00%  (0/1515)  
[OK] Query cache efficiency: 71.8% (17K cached / 24K selects)  
[OK] Query cache prunes per day: 0  
[OK] Sorts requiring temporary tables: 0% (10 temp sorts / 1K sorts)  
[!!] Temporary tables created on disk: 59% (1K on disk / 1K total)  
[OK] Thread cache hit rate: 97% (39 created / 1K connections)  
[OK] Table cache hit rate: 93% (103 open / 110 opened)  
[OK] Open file limit used: 4% (51/1K)  
[OK] Table locks acquired immediately: 100% (8K immediate / 8K locks)  
-------- MyISAM Metrics -----------------------------------------------------  
[!!] Key buffer used: 18.2% (3M used / 16M cache)  
[OK] Key buffer size / total MyISAM indexes: 16.0M/2.0M  
[OK] Read Key buffer hit rate: 100.0% (6 cached / 0 reads)  
[OK] Write Key buffer hit rate: 100.0% (8 cached / 0 writes)  
-------- InnoDB Metrics -----------------------------------------------------  
[--] InnoDB is enabled.  
[!!] InnoDB buffer pool / data size: 128.0M/292.9M  
[OK] InnoDB buffer pool instances: 1  
[!!] InnoDB Used buffer: 75.48% (6183 used/ 8192 total)  
[OK] InnoDB Read buffer efficiency: 99.70% (1960793 hits/ 1966769 total)  
[!!] InnoDB Write buffer efficiency: 0.00% (0 hits/ 1 total)  
[OK] InnoDB log waits: 0.00% (0 waits / 894 writes)  自从登录用户(访问数据库的人)的增加和对Apache配置的更改(这解决了Apache崩溃)之后,挂起的情况就开始变得更加频繁--我的Apache Pre叉MPM设置如下:
StartServers              20
MinSpareServers           10  
MaxSpareServers           20  
ServerLimit               1000  
MaxRequestWorkers         500  
MaxConnectionsPerChild    10000  服务器是一个带有8个CPU核和16 is内存的DigitalOcean液滴。
发布于 2015-12-07 04:20:06
innodb_buffer_pool_size改为1G。发布于 2019-04-24 14:08:35
你也可以找到我的答案这里
此错误可能是由于操作系统中MySQL的多个安装造成的。
sudo ps -A|grep mysql  杀灭mysql过程
sudo pkill mysql  然后运行命令
sudo ps -A|grep mysqld  mysqld的杀伤过程
sudo pkill mysqld  现在可以安全地重新启动MySQL服务器了。
sudo service mysql restart    
mysql -u root -p  希望这能有所帮助
https://dba.stackexchange.com/questions/119367
复制相似问题