MySQL最大連接數(shù)限制的修改步驟
前言
隨著現(xiàn)在大部分的工程結(jié)構(gòu)都是微服務化,每個服務一般都有本服務獨立的DB庫,對MySQL的連接數(shù)要求也是越來越多。如果本地安裝的測試數(shù)據(jù),沒有對MySQL默認連接數(shù)修改,測試時,多開幾個微服務,可能就遇到數(shù)據(jù)庫連接數(shù)過多的問題。對MySQl默認的最大連接數(shù)做修改就必不可少了。
一、前提條件
修改數(shù)據(jù)庫是比較危險的動作,修改之前以開發(fā)測試的數(shù)據(jù)庫為例,做好數(shù)據(jù)的備份。以防數(shù)據(jù)庫誤操作,丟失數(shù)據(jù)等等 。
修改MySQL的前提條件:
1、有Linux用戶的管理員權限賬號,需要對MySQL安裝的配置問卷進行修改;
2、MySQL數(shù)據(jù)庫的管理賬號。
3、如果有運維,與運維和開發(fā)負責人員商量修改,數(shù)據(jù)是大事,以防數(shù)據(jù)丟失,做好數(shù)據(jù)的備份。
二、修改步驟
1、使用root用戶登錄和連接數(shù)據(jù)庫
# mysql -uroot -p
輸入命令后,提示輸入root用戶密碼,輸入密碼后,成功登錄數(shù)據(jù)庫。
登錄MySQL數(shù)據(jù)庫
2、查看當前數(shù)據(jù)庫的最大連接數(shù)
mysql> show variables like 'max_connections';
如下圖,MySQL的最大連接數(shù)才151,稍微多開幾個微服務,基本都會報數(shù)據(jù)庫連接數(shù)過多的異常。
查看數(shù)據(jù)庫的最大連接數(shù)
3、修改MySQL配置文件
找到MySQL的配置文件并且修改:/etc/mysql/mysql.conf.d/mysqld.cnf
# view /etc/mysql/mysql.conf.d/mysqld.cnf
修改配置文件中的最大連接數(shù),max_connections = 2000,修改完保存配置退出編輯狀態(tài)。
[mysql] max_connections = 2000
修改配置文件中的最大連接數(shù)
4、查看系統(tǒng)limit限制
使用命令查詢系統(tǒng)的文件限制
# 查詢文件限制 $ ulimit -n 1024
如果查看的系統(tǒng)文件限制是65535,說明系統(tǒng)已經(jīng)修改過了,不需要再修改。
5、修改系統(tǒng)文件限制
5.1、在/etc/security/limits.conf最后增加如下兩行記錄,編輯完保存配置
# 編輯系統(tǒng)文件配置文件 $ 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,保存后,執(zhí)行scource命令使配置生效,再次查看系統(tǒng)文件限制
# 編輯/etc/profile,加入ulimit -SHn 65535 # 編輯完保存 $ view /etc/profile # 執(zhí)行scource 命令使配置生效,確認修改是否成功 $ source /etc/profile # 再次查看系統(tǒng)limit限制,看配置文件是否生效 $ ulimit -n 65535
系統(tǒng)配置文件已修改成功
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、執(zhí)行下面命令使修改生效
生效剛才修改的配置文件,重新啟動MySQL服務。
$ systemctl daemon-reload $ systemctl restart mysql.service
8、登錄mysql,使用 show variables like "%max_connections%"; 查看最大連接數(shù),這時發(fā)現(xiàn)已經(jīng)改成2000。
最大連接數(shù)已修改成功
三、結(jié)語
至此MySQL的最大連接數(shù)已修改完成,在開發(fā)過程中,盡量合理使用數(shù)據(jù)庫的連接數(shù)量。
到此這篇關于MySQL最大連接數(shù)限制修改的文章就介紹到這了,更多相關MySQL修改最大連接數(shù)限制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何解決mysqlimport: Error: 13, Can''t get stat of 的問題
本篇文章是對解決mysqlimport: Error: 13, Can't get stat of問題的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06MySQL修改數(shù)據(jù)表存儲引擎的3種方法介紹
這篇文章主要介紹了MySQL修改數(shù)據(jù)表存儲引擎的3種方法介紹,分別是直接修改、導出導入、創(chuàng)建插入3種方法,需要的朋友可以參考下2014-07-07php+mysql prepare 與普通查詢的性能對比實例講解
prepare可以解決大訪問量的網(wǎng)站給數(shù)據(jù)庫服務器所帶來的負載和開銷,本文章通過實例向大家介紹預查詢prepare與普通查詢的性能對比,需要的朋友可以參考一下2016-11-11MySql逗號分割的字段數(shù)據(jù)分解為多行代碼示例
逗號分割的字符串可以作為分組數(shù)據(jù)的標識符,用于對數(shù)據(jù)進行分組和聚合操作,下面這篇文章主要給大家介紹了關于MySql逗號分割的字段數(shù)據(jù)分解為多行的相關資料,需要的朋友可以參考下2023-12-12MySQL數(shù)據(jù)庫char與varchar的區(qū)別分析及使用建議
本文主要介紹了mysql中VARCHAR與CHAR字符型數(shù)據(jù)的差異以及這兩種字符型數(shù)據(jù)在項目中的使用建議,真心不錯。值得一看。小編有種受益匪淺的感覺。2014-09-09Mysql如何解決1251 client does not support問題
這篇文章主要介紹了Mysql如何解決1251 client does not support問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09