MySQL 修改最大连接数

这几天测试服出现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生效

搞定!

One thought on “MySQL 修改最大连接数”

发表评论

电子邮件地址不会被公开。 必填项已用*标注