您的位置:首页 > 数据库 > MySQL

MySQL无法同时多个客户端进行连接解决方案

2017-10-01 14:26 337 查看
问题:Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

原因:

1.首先定位了问题,是由于访问量太大,导致数据库连接数不够,问题出现在数据库上

2.查找解决方案修改mysql的配置文件my.cnf,调整最大连接数max_connections

解决方案:

一、方案一

修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:

max_connections=2000


1.切换到my.cnf所在文件夹

cd /etc/mysql/


2.查看该文件夹下的文件

ls


3. 打开my.cnf文件

sudo vi my.cnf


4.在[mysqld]段中添加

max_connections=2000


5.重启mysql服务

sudo service mysql restart


二、方案二(重启mysql服务后失效)

进入MySQL控制台,通过命令修改max_connections

1.进入MySQL控制台

mysql -uroot -proot


2.查看MySQL当前允许的最大连接数

show variables like '%max_connections%';




3.修改最大连接数

set GLOBAL max_connections=2000;




4.通过命令再次查看当前的最大连接数,检查是否生效



备注

一些常用的mysql状态命令参数

mysql> show status like 'Threads%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_cached    | 58    |
| Threads_connected | 57    |   ###这个数值指的是打开的连接数
| Threads_created   | 3676  |
| Threads_running   | 4     |   ###这个数值指的是激活的连接数,这个数值一般远低于connected数值
+-------------------+-------+


mysql> show status like '%Max_used_connections%';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 30    |
+----------------------+-------+
1 row in set (0.00 sec)


Max_used_connections 同时使用的连接的最大数目。

Threads_connected 当前打开的连接的数量。

Threads_running 不在睡眠的线程数量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql