mysql超出最大连接数解决方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-08 13:40:50 浏览: 评论:0
可能有不少朋友会碰到关在使用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
具体一点就是下面的位置.
用说明,代码如下:
- then $NOHUP_NICENESS $ledir/$MySQLD
- $defaults --basedir=$MY_BASEDIR_VERSION
- --datadir=$DATADIR $USER_OPTION
- --pid-file=$pid_file
- --skip-external-locking
- -O max_connections=1500
- >> $err_log 2>&1 else
- eval "$NOHUP_NICENESS $ledir/$MySQLD
- $defaults --basedir=$MY_BASEDIR_VERSION
- --datadir=$DATADIR $USER_OPTION
- --pid-file=$pid_file
- --skip-external-locking $args
- -O max_connections=1500 >>
- $err_log 2>&1"
保存,代码如下:
- # service MySQLd restart
- # /usr/local/MySQL/bin/MySQLadmin -uroot -p variables
输入root数据库账号的密码后可看到,max_connections 1500 即新改动已经生效.
还有一种方法,修改原代码,解开MySQL的原代码,进入里面的sql目录修改MySQLd.cc找到下面一行,代码如下:
- {"max_connections", OPT_MAX_CONNECTIONS,
- "The number of simultaneous clients allowed.", (gptr*) &max_connections, --phpfensi.com
- (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 100, 1, 16384, 0, 1,
- 0},
把它改为如下代码:
- {"max_connections", OPT_MAX_CONNECTIONS,
- "The number of simultaneous clients allowed.", (gptr*) &max_connections,
- (gptr*) &max_connections, 0, GET_ULONG, REQUIRED_ARG, 1500, 1, 16384, 0, 1,
- 0},
存盘退出,然后./configure ;make;make install可以获得同样的效果,以上的相关内容就是对修改MySQL最大连接数的3种方法的介绍,望你能有所收获.
Tags: mysql最大连接数 mysql连接数
相关文章
- ·修改mysql默认最大连接数示例(2014-09-27)
- ·MySQL服务器最大连接数怎么设置才合理(2014-10-02)
- ·设置mysql连接数方法介绍(2014-10-01)
- ·快速增加MYSQL数据库连接数负载能力方法(2014-10-03)
- ·centos增加mysql连接数方法详解(2014-10-04)
- ·如何修改MySQL连接数超限的方法(2014-10-08)
- ·修改mysql的最大连接数的几种方法总结(2015-04-18)
- ·修改mysql最大连接数的方法(2015-04-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)