有个朋友在生产环境遇到如下一个问题:
各位大师,求助:有没有办法, 不重启 数据库的情况下, 修改 mysql 用户 最大的 nproc 这个参数! 报错信息:Can\'t create a new thread (errno 11); 当然项目初期肯定会 修改 系统的ulimit,程序的连接数等等; 但这个是在应急情况下: 目前解决的方式是: 1、iptables 禁用某个ip连接 2、tcpkill 杀掉没用的tcp 连接, 这样连接上mysql 之后,修改 max_connection < nproc 这个参数; 有没有 在 不重启数据库,又能修改mysql 用户最大的 nproc !
在设置MySQL的参数max_connections之外, 还需要考虑设置/etc/security/limits.conf文件的大小
MySQL是线程模式执行的, 其线程数也会被统计在nproc中, 这可能掩盖或造成对此问题的误判
也可以暂时用以下方法缓解mysql连接数报表:
# cat /etc/sysctl.conf
net.ipv4.tcp_tw_reuse = 1 /*打开重用time_wait状态的socket*/
net.ipv4.tcp_tw_recycle = 1 /*打开快速回收time_wait状态的socket*/
net.ipv4.tcp_fin_timeout = 30 /*time_wait时间*/
然后sysctl -p
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1208223/ ,如需转载,请注明出处,否则将追究法律责任。