mysql too many connections 解决
本文为博主原创,转载请注明出处:
由于在开发过程中,很多人连接共同一个数据库,在工具连接到mysql, 并执行sql时,提示 too many connections ,这是由于数据库连接太多,以致于连不上。
1.通过命令查看数据库配置的最大连接数:说明:数据库默认配置的最大连接数为151
mysql> show variables like '%max_connections%';
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| max_connections | 151 |
+------------------------+-------+
2.查看当前数据库的连接数:
show processlist;
mysql> show processlist;
+----+------+-----------------+-------------+---------+------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+-------------+---------+------+----------+------------------+
| 3 | root | localhost:65229 | NULL | Sleep | 333 | | NULL |
| 4 | root | localhost:65233 | user_center | Sleep | 332 | | NULL |
| 5 | root | localhost:65238 | user_center | Sleep | 329 | | NULL |
| 6 | root | localhost:65303 | user_center | Sleep | 289 | | NULL |
| 7 | root | localhost:49155 | user_center | Sleep | 43 | | NULL |
| 8 | root | localhost:49159 | user_center | Query | 0 | starting | show processlist |
+----+------+-----------------+-------------+---------+------+----------+------------------+
6 rows in set
3.修改数据库最大连接数:
set GLOBAL max_connections=2000;
mysql> set GLOBAL max_connections=2000;
Query OK, 0 rows affected
4. 也有另外一种方法,修改 mysql 的 配置文件my.ini ,将 max_connections 设置为自己需要的连接数。
但此种方法修改完配置文件,需要重新启动 mysql,会造成很大的不便。建议还是使用命令进行设置。
此处将本地 mysql 的配置文件 my.ini 内容记录一下,可看下mysql 配置文件中的配置项有哪些:
[mysqld]
character-set-server=utf8
#绑定IPv4和3306端口
bind-address = 0.0.0.0
port = 3306
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
default_storage_engine=innodb
innodb_buffer_pool_size=1000M
innodb_log_file_size=50M
# 设置mysql的安装目录
#C:\Program Files\MySQL\MySQL Server 8.0
basedir=D:\Program Files\MySQL\MySQL Server 8.0
# 设置mysql数据库的数据的存放目录
#D:\installProgrammer\Mysql\data
datadir=D:\installProgrammer\Mysql\data
# 允许最大连接数
max_connections=1000
# skip_grant_tables
[mysql]
default-character-set=utf8
[mysql.server]
default-character-set=utf8
[mysql_safe]
default-character-set=utf8
[client]
port = 3306
#C:\Program Files\MySQL\MySQL Server 8.0\lib\plugin
plugin-dir=C:\Program Files\MySQL\MySQL Server 8.0\lib\plugin