前言
随着现在大部分的工程结构都是微服务化,每个服务一般都有本服务独立的DB库,对MySQL的连接数要求也是越来越多。如果本地安装的测试数据,没有对MySQL默认连接数修改,测试时,多开几个微服务,可能就遇到数据库连接数过多的问题。对MySQl默认的最大连接数做修改就必不可少了。
一、前提条件
修改数据库是比较危险的动作,修改之前以开发测试的数据库为例,做好数据的备份。以防数据库误操作,丢失数据等等 。
修改MySQL的前提条件:
1、有linux用户的管理员权限账号,需要对MySQL安装的配置问卷进行修改;
2、MySQL数据库的管理账号。
3、如果有运维,与运维和开发负责人员商量修改,数据是大事,以防数据丢失,做好数据的备份。
二、修改步骤
1、使用root用户登录和连接数据库
# mysql -uroot -p
输入命令后,提示输入root用户密码,输入密码后,成功登录数据库。
登录MySQL数据库
2、查看当前数据库的最大连接数
mysql> show variables like 'max_connections';
如下图,MySQL的最大连接数才151,稍微多开几个微服务,基本都会报数据库连接数过多的异常。
查看数据库的最大连接数
3、修改MySQL配置文件
找到MySQL的配置文件并且修改:/etc/mysql/mysql.conf.d/mysqld.cnf
# view /etc/mysql/mysql.conf.d/mysqld.cnf
修改配置文件中的最大连接数,max_connections = 2000,修改完保存配置退出编辑状态。
[mysql]
max_connections = 2000
修改配置文件中的最大连接数
4、查看系统limit限制
使用命令查询系统的文件限制
# 查询文件限制
$ ulimit -n
1024
如果查看的系统文件限制是65535,说明系统已经修改过了,不需要再修改。
5、修改系统文件限制
5.1、在/etc/security/limits.conf最后增加如下两行记录,编辑完保存配置
# 编辑系统文件配置文件
$ view /etc/security/limits.conf
# 在/etc/security/limits.conf最后增加如下两行记录
* hard nofile 65535
* soft nofile 65535
最后增加如下两行记录
5.2、编辑/etc/pam.d/common-session,加入一行 session required pam_limits.so
# 编辑/etc/pam.d/common-session,
# 加入一行 session required pam_limits.so
$ view /etc/pam.d/common-session
编辑配置文件
5.3、编辑/etc/profile,加入ulimit -SHn 65535,保存后,执行scource命令使配置生效,再次查看系统文件限制
# 编辑/etc/profile,加入ulimit -SHn 65535
# 编辑完保存
$ view /etc/profile
# 执行scource 命令使配置生效,确认修改是否成功
$ source /etc/profile
# 再次查看系统limit限制,看配置文件是否生效
$ ulimit -n
65535
系统配置文件已修改成功
6、修改mysql配置
查找mysql.service 启动文件
$ systemctl status mysql.service
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2018-12-19 23:53:28 CST; 16min ago
Process: 25857 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 25843 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 25856 (mysqld)
Tasks: 28 (limit: 4915)
Memory: 185.9M
CPU: 1.577s
CGroup: /system.slice/mysql.service
└─25856 /usr/sbin/mysqld
进入目录 /etc/systemd/system/multi-user.target.wants,找到文件mysql.service;
sudo vim mysql.service,在 [Service] 最后加入:
LimitNOFILE=65535
LimitNPROC=65535
修改mysql的启动配置文件
7、执行下面命令使修改生效
生效刚才修改的配置文件,重新启动MySQL服务。
$ systemctl daemon-reload
$ systemctl restart mysql.service
8、登录mysql,使用 show variables like "%max_connections%"; 查看最大连接数,这时发现已经改成2000。
最大连接数已修改成功
三、结语
至此MySQL的最大连接数已修改完成,在开发过程中,尽量合理使用数据库的连接数量。
到此这篇关于MySQL最大连接数限制修改的文章就介绍到这了,更多相关MySQL修改最大连接数限制内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!