晓夏

YoungCheung

Zhang Sir's technical way

mariadb的max_connections配置无效,默认=214

浏览量:470

一、背景

     开发代码在操作数据库的过程中,程序抛出Too many connections。

   查看/etc/my.cnf.d/server.cnf 里面配置了

max_connections = 65535

    执行SHOW GLOBAL VARIABLES LIKE 'max_connections' 查看value=214,说明max_connections配置未生效

二、处理

    查看启动文件 /usr/lib/systemd/system/mariadb.service

# It's not recommended to modify this file in-place, because it will be
# overwritten during package upgrades.  If you want to customize, the
# best way is to create a file "/etc/systemd/system/mariadb.service",
# containing
#       .include /lib/systemd/system/mariadb.service
#       ...make your changes here...
# or create a file "/etc/systemd/system/mariadb.service.d/foo.conf",
# which doesn't need to include ".include" call and which will be parsed
# after the file mariadb.service itself is parsed.
#
# For more info about custom unit files, see systemd.unit(5) or
# http://fedoraproject.org/wiki/Systemd#How_do_I_customize_a_unit_file.2F_add_a_custom_unit_file.3F

# For example, if you want to increase mariadb's open-files-limit to 10000,
# you need to increase systemd's LimitNOFILE setting, so create a file named
# "/etc/systemd/system/mariadb.service.d/limits.conf" containing:
#       [Service]
#       LimitNOFILE=10000

# Note: /usr/lib/... is recommended in the .include line though /lib/... 
# still works.
# Don't forget to reload systemd daemon after you change unit configuration:
# root> systemctl --system daemon-reload

[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target

[Service]
Type=simple
User=mysql
Group=mysql

ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n
# Note: we set --basedir to prevent probes that might trigger SELinux alarms,
# per bug #547485
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  创建

 mkdir /etc/systemd/system/mariadb.service.d/
 vim /etc/systemd/system/mariadb.service.d/limits.conf
 [Service]
 LimitNOFILE=10000

 $ systemctl daemon-reload

 重启

systemctl restart mariadb.service

再次执行SHOW GLOBAL VARIABLES LIKE 'max_connections' 查看value=2000


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。