您现在的位置是:mysqld_safe Number of processes running now

mysqld_safe Number of processes running now

yuli09272017年05月20日 标签: MySQL

Tips 分类: MySQL   浏览:4082  标签: MySQL 

今天腾讯云主机触发CPU>80%报警,当即登录运行top发现mysqld占用cpu较高

查看mysql.err文件提示mysqld_safe Number of processes running now,

几乎同一时间apache日志出现报错PHP Warning:  PDO::query(): MySQL server has gone away和 PHP Warning:  PDO::query(): Error reading result set's header

考虑mysql分配内存问题,修改/etc/my.cnf的两个参数:key_buffer_size、 innodb_buffer_pool_size 

  • 如果仅使用MyISAM存储引擎,设置 key_buffer_size 为可用内存的20%,(再加上设置 innodb_buffer_pool_size = 0 )
  • 如果仅使用InnoDB存储引擎,设置 innodb_buffer_pool_size 为可用内存的 70%, (设置 key_buffer_size = 10M,很小但不是0.)

sqlerr.png

MySQL server has gone away原因,wait_timeout值太小:

wait_timeout.png

show global variables like '%timeout';

修改/etc/my.cnf,调整wait_timeout值,一般设置为10-30即可,需要重启mysql

直接在命令行设置,不重启mysql

set global wait_timeout=10;

set.png