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