• CentOS7下mysql最大连接数设置 1040 too many connection


    最近做项目经常遇到 too many connection 的错误,虽然之前都修改过不过经过centos的升级,又发生了一系列的变化。

    一、首先用最常用的方式修改,打开mysql(mariadb)的配置文件

    vim /etc/my.cnf

    找到[mysqld]下面的参数,没有则添加。

    wait_timeout=120
    interactive_timeout=120
    max_connections=4096
    
    以下是my.cnf文件的信息
    [mysqld]
    ...
    wait_timeout=120
    interactive_timeout=120
    #set max number of connections
    max_connections=4096

    然后接着保存my.cnf,重启mysql

    systemctl start mariadb

    使用命令查看是否有改变,进入mysql

    mysql -uroot -p

    接着输入下面查看最大连接数。

    MariaDB [(none)]> show variables like '%max_connections%';
    +-----------------------+-------+
    | Variable_name         | Value |
    +-----------------------+-------+
    | extra_max_connections | 1     |
    | max_connections       | 214  |
    +-----------------------+-------+
    2 rows in set (0.00 sec)
    

     你会发现还是没有改变,这就是centos7系统限制问题。

    二、开始修改mariadb.service的文件

    vim /usr/lib/systemd/system/mariadb.service

    找到下面的参数,没有则添加。

    [Service]
    LimitNOFILE=65535
    LimitNPROC=65535
    

    重新加载服务配置文件,并且重启mysql服务。

    systemctl daemon-reload
    systemctl restart mariadb.service
    

      

    这时候重复一的操作。

    三、上面的操作都还不行,那就是centos7系统的本身限制

    现在就是修改系统配置,查看系统限制

    [root@xxx]# ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 3885
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 65535
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 65535
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    

     打开配置文件limits.conf

    vim /etc/security/limits.conf

    找到配置资源限制参数nofile,没有文件尾部加入下面的参数配置。

    * soft nofile 65535
    * hard nofile 65535
    * soft nproc 65535
    * hard nproc 65535
    

     保存修改,重启centos服务器,这时候查看所有参数是否改变。

    ulimit -a
    #或者
    #ulimit -n

    如果还是没改变可以尝试 重启supervisord服务(如果属于这个子线程)。

    以上就是我所遇到1040 too many connection 问题的解决,希望对大家有所帮助!

  • 相关阅读:
    2022321内部群每日三题清辉PMP
    PMP内部群每日错题回顾(一周目)
    2022225内部群每日三题清辉PMP
    202233内部群每日三题清辉PMP
    2022214内部群每日三题清辉PMP
    2022223内部群每日三题清辉PMP
    Qt6以上安装速度慢解决国内镜像加速
    2022.3.9内部群每日三题清辉PMP
    2022228内部群每日三题清辉PMP
    2022215内部群每日三题清辉PMP
  • 原文地址:https://www.cnblogs.com/zrl66/p/12678088.html
Copyright © 2020-2023  润新知