北京SEO

mysql超出最大连接数解决方法

2019/10/10/17:34:50  阅读:3151  来源:谷歌SEO算法  标签: 微信公众号

可能有不少朋友会碰到关在使用mysql时提示超出最大连接数这个问题,下面我来给大家介绍mysql超出最大连接数原因分析与解决办法,有需要了解的朋友可参考.

遇到mysql超出最大连接数,相信不少人第一反应就是查看mysql进程,看有没有慢查询,当然这个做法是完全正确的.

但是很多时候真正的问题不在这里,今天有遇到同样的问题,一味查看mysql进程和慢查询日志,无果.

后来老大提点了一下,查看一下nginx日志,发现有一两个访问执行时候比较长,然后使用top命令查看了一下服务器负载,惊了,居然超高.

最后发现原来有一台web分流主机挂了,导致另外几台web主机负载增高,从而导致了php-fpm的执行效率降低.

那么这跟mysql有什么关系呢?原因很简单,因为php执行时间过长,mysql连接迟迟未释放,就会导致连接数过多出现。

最后总结:其实很多时候,一个问题的根本原因并不是那么直接的呈现出来,需要自己去跟踪.

老大有一句很实用的话:遇到问题先查日志,mysql、php、nginx等.

windows2003系统,增加默认MYSQL连接数的方法:

方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可

方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppassword

设置新的最大连接数为200:mysql> set GLOBAL max_connections=200

显示当前运行的Query:mysql> show processlist

显示当前状态:mysql> show status

退出客户端:mysql> exit

查看当前最大连接数:mysqladmin -uusername -ppassword variables

linux系统,以centos 4.4 下面的MySQL 5.0.33 手工编译版本为例说明:

vi /usr/local/MySQL/bin/MySQLd_safe

找到safe_MySQLd编辑它,找到MySQLd启动的那两行,在后面加上参数:

-O max_connections=1500

具体一点就是下面的位置.

用说明,代码如下:

  1. then$NOHUP_NICENESS$ledir/$MySQLD
  2. $defaults--basedir=$MY_BASEDIR_VERSION
  3. --datadir=$DATADIR$USER_OPTION
  4. --pid-file=$pid_file
  5. --skip-external-locking
  6. -Omax_connections=1500
  7. >>$err_log2>&1else
  8. eval"$NOHUP_NICENESS$ledir/$MySQLD
  9. $defaults--basedir=$MY_BASEDIR_VERSION
  10. --datadir=$DATADIR$USER_OPTION
  11. --pid-file=$pid_file
  12. --skip-external-locking$args
  13. -Omax_connections=1500>>
  14. $err_log2>&1"

保存,代码如下:

  1. #serviceMySQLdrestart
  2. #/usr/local/MySQL/bin/MySQLadmin-uroot-pvariables

输入root数据库账号的密码后可看到,max_connections 1500 即新改动已经生效.

还有一种方法,修改原代码,解开MySQL的原代码,进入里面的sql目录修改MySQLd.cc找到下面一行,代码如下:

  1. {"max_connections",OPT_MAX_CONNECTIONS,
  2. "Thenumberofsimultaneousclientsallowed.",(gptr*)&max_connections,--phpfensi.com
  3. (gptr*)&max_connections,0,GET_ULONG,REQUIRED_ARG,100,1,16384,0,1,
  4. 0},

把它改为如下代码:

  1. {"max_connections",OPT_MAX_CONNECTIONS,
  2. "Thenumberofsimultaneousclientsallowed.",(gptr*)&max_connections,
  3. (gptr*)&max_connections,0,GET_ULONG,REQUIRED_ARG,1500,1,16384,0,1,
  4. 0},

存盘退出,然后./configure ;make;make install可以获得同样的效果,以上的相关内容就是对修改MySQL最大连接数的3种方法的介绍,望你能有所收获.

广告内容

mysql超出最大连接数解决方法 mysql超出最大连接数解决方法 mysql超出最大连接数解决方法

相关阅读

热门评论

木木老贼 木木老贼

互联网营销达人~

总篇数181

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法