总结MySQL修改最大连接数的两个方式
2016-08-05 15:51
639 查看
问题
在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“
Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100, 最大可以达到16384。
常用的有两种方式修改最大连接数。
解决方式一:通过命令
可以通过
set GLOBAL max_connections=100;命令将最大连接数设置为100,此方法是即时生效的,不需要重启mysql服务。如下图所示:
需注意的是,要通过root权限的mysql帐号才能操作,否则会报
“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”的错误。
同时,从上图也可以看出,设置max_connections最小值为1。
设置完成后,我再通过另一个终端连接时,就报出了如下的错误提示:
1040-Too many connections。
解决方式二:修改my.cnf
打开mysql的配置文件
vim /etc/my.cnf,加入
max_connections=100一行(如果有,直接修改值即可),然后重启服务
:/etc/init.d/mysqld restart,此时生效。
区别:
1.通过修改配置文件,需要重启服务;而用命令修改,即时生效。
2.采用修改配置文件的方式,更稳定可靠。因为如果配置文件中有
max_connections=100,再去用命令修改的话,一旦重启mysql服务后,会重新以配置文件中指定的连接数为准。
总结:
在修改最大连接数的时候会有这样一个疑问―这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。可以在global或session范围内修改这个参数。连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。希望本文大家使用mysql有所帮助。
您可能感兴趣的文章:
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜