数据库连接报错:ERROR 1040 (HY000): Too many connections
1、查看连接数
/usr/local/mysql/bin/mysqladmin -h host -u root -p123456 status
这条命令返回MYSQL当前状态的几个值
Uptime: 18869 Threads: 1 Questions: 1 Slow queries: 0 Opens: 33 Flush tables: 1 c: 0 Queries per second avg: 0.000
Uptime:是mysql正常运行的时间。
Threads:指开启的会话数吧。
Questions: 服务器启动以来客户的问题(查询)数目 (应该是只要跟mysql作交互:不管你查询表,还是查询服务器状态都问记一次)。
Slow queries:按字面意思是慢查询的意思,不知道musql认为多久才足够算为长查询,这个先放着。
Opens:服务器已经打开的数据库表的数量
Flush tables: 服务器已经执行的flush ...、refresh和reload命令的数量。
open tables:通过命令是用的数据库的表的数量,以服务器启动开始。
Queries per second avg:select语句平均查询时间?
2、更改配置文件的连接数
配置文件一般存在位置:/etc/my.cnf
修改项:[mysqld]下增加max_connections(最大连接数)和wait_timeout(连接等待时间)
[mysqld]
max_connections=5000
wait_timeout=5
3、停止和启动服务
停止mysql服务:
/usr/local/mysql/bin/mysqladmin shutdown -uroot-p123456
启动mysql服务:
/usr/local/bin/mysqld_safe --defaults-file=/etc/my.cnf--user=root
说明:
--defaults-file为指定的配置文件
--user为登录mysql的用户名
4、重启成功后,登录mysql去kill连接数
进入命令行:./mysql -uroot -p123456
查看连接信息:
mysql> show processlist;
Host列为所以连接过来的信息,Id为对应的标识,可以kill掉
mysql> kill 1;