标签归档:mysql

CentOS7上MySQL返回Too many connections

被这个问题困扰了一天,今天做微信开发,流量一大,django占用CPU很大,这个比较好解决,加进程加硬件即可。然而数据库连接开始报Too many connections,查了网上一些文章,直接改/etc/my.cnf加入max-connections=3000,无果。又查,在mysql里输入set GLOBAL max-connections=3000,数值是变了,然并卵。

刚才找到一个文章,才想起原来是CentOS7的systemd限制了服务进程的NOFILE,导致每次启动mysql服务后,查询max-connections一直是214,这个数字可能是默认的最大值吧。解决方法如下:

编辑 /usr/lib/systemd/system/mysqld.service,加入:
LimitNOFILE=infinity
LimitMEMLOCK=infinity

困扰整天的问题终于解决,撰文记下。

参考文献:

http://www.nethings.eu/quick-picks/mysql-max-connections/