MySQL最大連接數限制的修改步驟
前言
隨著現在大部分的工程結構都是微服務化,每個服務一般都有本服務獨立的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修改最大連接數限制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 詳解如何修改MySQL最大連接數
- Mysql systemctl start mysqld報錯的問題解決
- MySQL正確修改最大連接數的3種方案
- 淺談MySQL數據庫崩潰(crash)的常見原因和解決辦法
- Redhat7.3安裝MySQL8.0.22的詳細教程(二進制安裝)