zoukankan      html  css  js  c++  java
  • MySQL 修改最大连接数

    今天使用ide连接线下MySQL报错Can not connect to MySQL server. Too many connections,报错很明确,与MySQL的连接数满了。想想也是,每起一个服务都会创建MySQL连接池,占用不少的长连接。用ide查看了一下,原来最大连接数才151,看来有必要改大一点了。

    上网查了一下,修改方式有两种

    1.命令行修改

    进入mysql后,set GLOBAL max_connections=1024; 即可立即生效,但是博主没有使用这种方式,因为这种方法治标不治本,一点重启mysql,最大连接数又会变回151

    2.修改配置,然后重启

    vi /etc/m.cnf加入max_connections=1024,然后重启mysql即可。

    重启后,很遗憾,max_connections变成了214,这就很诡异了。我把max_connections又分别设置成500和213,实际的max_connections分别是214和213。也就是说,在这台服务器上,max_connections最大只能是234,猜测是因为操作系统的限制导致max_connections最大只能为213。博主翻了翻MySQl官方文档(英语不好看文档真是浑身难受),发现以下几句话:

    The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.

    以我的英语水准,把上述语句概括起来就是,max_connections依托于操作系统,Linux系统必要时需要增加open-files-limit。万万没想到啊,修改max_connections竟然要修改操作系统最大文件描述符。

    vi /usr/lib/systemd/system/mysqld.service加入

    LimitNOFILE=50000

    重启MySQL

    嗯,搞定了~

    希望对大家有所帮助,祝大家每天开心~

  • 相关阅读:
    2017-11-26 小组工作内容
    2017-11-25 小组工作内容
    2017-11-24 小组工作内容
    如何计算团队成员贡献分——1703班02组
    第一周小组博客作业——1703班02组
    2017-11-17实践作业记录
    第0次作业
    Unity3D 视频播放
    Unity3D 平滑转向
    Unity3D之Camera跟随鼠标移动,右键显示或隐藏鼠标
  • 原文地址:https://www.cnblogs.com/baiyb/p/9281517.html
Copyright © 2011-2022 走看看