这几天测试服出现MySQL连接失败的问题,提示“Too many connections”之类的日志,找到是MySQL最大连接数设置的问题。可是,MySQL配置文件在哪同样是一个问题,文章就这两个问题做讨论。
MySQL配置文件
首先,说下怎么查找MySQL配置文件:
先找mysqld进程,看进程启动是否指定配置文件
[robot@ ~]# ps -ef|grep mysql mysql 10086 1 0 Mar03 ? 00:03:51 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
发现没有,则利用mysql命令查找配置文件:
[robot@ ~]# mysql --help|grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
以上是mysql的配置查找路径的优先顺序,默认是 /etc/my.cnf
查看当前连接数
[robot@ ~]# mysql -h 127.0.0.1 -u root -p12345 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1314 mysql> show status like 'threads%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 0 | | Threads_connected | 164 | | Threads_created | 1287 | | Threads_running | 1 | +-------------------+-------+ 4 rows in set (0.00 sec) mysql> quit Bye
以上,Threads_connected 的值就是当前连接数。
修改MySQL 最大连接数
过程分两步:
1、连接MySQL后,在线修改,立刻生效
2、修改MySQL配置文件,需要重启生效
第一种方式:在线修改,立刻生效(这种方式重启后失效)
[robot@ ~]# mysql -h 127.0.0.1 -u root -p12345 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1314 mysql> set global max_connections=1000; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | +-----------------+-------+ 1 row in set (0.00 sec) mysql> quit Bye
第二种:配置文件,需要重启生效
[robot@ ~]# vi /etc/my.cnf
在 [mysqld] 项下,加上
max_connections = 1000
保存配置后,等重启mysql生效
搞定!
过来踩踩!
好久没更新了,过来踩踩