问题mysql
在使用MySQL数据库的时候,常常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections
”-mysql 1040错误,这是由于访问MySQL且还未释放的链接数目已经达到MySQL的上限。一般,mysql的最大链接数默认是100, 最大能够达到16384。sql
经常使用的有两种方式修改最大链接数。数据库
解决方式一:经过命令vim
能够经过 set GLOBAL max_connections=100;
命令将最大链接数设置为100,此方法是即时生效的,不须要重启mysql服务。以下图所示:windows
需注意的是,要经过root权限的mysql账号才能操做,不然会报“1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation”
的错误。服务器
同时,从上图也能够看出,设置max_connections最小值为1。session
设置完成后,我再经过另外一个终端链接时,就报出了以下的错误提示:1040-Too many connections
。this
解决方式二:修改my.cnf线程
打开mysql的配置文件vim /etc/my.cnf
,加入max_connections=100一行
(若是有,直接修改值便可),而后重启服务:/etc/init.d/mysqld restart
,此时生效。rest
区别:
1.经过修改配置文件,须要重启服务;而用命令修改,即时生效。
2.采用修改配置文件的方式,更稳定可靠。由于若是配置文件中有max_connections=100
,再去用命令修改的话,一旦重启mysql服务后,会从新以配置文件中指定的链接数为准。
总结:
在修改最大链接数的时候会有这样一个疑问—这个值是否是越大越好,或者设置为多大才合适?这个参数的大小要综合不少因素来考虑,好比使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每一个链接占用资源(内存和负载)的多少、系统须要的响应时间等。能够在global或session范围内修改这个参数。链接数的增长会带来不少连锁反应,须要在实际中避免由此引起的负面影响。但愿本文你们使用mysql有所帮助。