Mysql查看最大連接數(shù)和修改最大連接數(shù)的講解
MySQL查看最大連接數(shù)和修改最大連接數(shù)
1、查看最大連接數(shù)
show variables like '%max_connections%';
2、修改最大連接數(shù)
set GLOBAL max_connections = 200;
以下的文章主要是向大家介紹的是MySQL最大連接數(shù)的修改,我們大家都知道MySQL最大連接數(shù)的默認(rèn)值是100, 這個數(shù)值對于并發(fā)連接很多的數(shù)據(jù)庫的應(yīng)用是遠(yuǎn)不夠用的,當(dāng)連接請求大于默認(rèn)連接數(shù)后,就會出現(xiàn)無法連接數(shù)據(jù)庫的錯誤,因此我們需要把它適當(dāng)調(diào)大一些。在使 用MySQL數(shù)據(jù)庫的時候,經(jīng)常會遇到這么一個問題,就是“Can not connect to MySQL server. Too many connections”-mysql 1040錯誤,這是因為訪問MySQL且還未釋放的連接數(shù)目已經(jīng)達(dá)到MySQL的上限。通常,mysql的最大連接數(shù)默認(rèn)是100, 最大可以達(dá)到16384。
mysql數(shù)據(jù)庫連接數(shù)過多導(dǎo)致系統(tǒng)出錯,系統(tǒng)不能連接數(shù)據(jù)庫,關(guān)鍵要看兩個數(shù)據(jù):
1、數(shù)據(jù)庫系統(tǒng)允許的最大可連接數(shù)max_connections。這個參數(shù)是可以設(shè)置的。如果不設(shè)置,默認(rèn)是100。
2、數(shù)據(jù)庫當(dāng)前的連接線程數(shù)threads_connected。這是動態(tài)變化的。
查看max_connections、max_connections的辦法下面我們再說。
如果 threads_connected == max_connections 時,數(shù)據(jù)庫系統(tǒng)就不能提供更多的連接數(shù)了,這時,如果程序還想新建連接線程,數(shù)據(jù)庫系統(tǒng)就會拒絕,如果程序沒做太多的錯誤處理。
因為創(chuàng)建和銷毀數(shù)據(jù)庫的連接,都會消耗系統(tǒng)的資源。而且為了避免在同一時間同時打開過多的連接線程,現(xiàn)在編程一般都使用所謂數(shù)據(jù)庫連接池技術(shù)。
但數(shù)據(jù)庫連接池技術(shù),并不能避免程序錯誤導(dǎo)致連接資源消耗殆盡。
這種情況通常發(fā)生在程序未能及時釋放數(shù)據(jù)庫連接資源或其他原因造成數(shù)據(jù)庫連接資源不能釋放,發(fā)生類似錯誤的簡便的檢查辦法是,在刷新頁面時,不斷監(jiān)視threads_connected的變化。如果max_connections足夠大,而 threads_connected值不斷增加以至達(dá)到max_connections,那么,就應(yīng)該檢查程序了。當(dāng)然,如果采用數(shù)據(jù)庫連接池技術(shù),threads_connected增長到數(shù)據(jù)庫連接池的最大連接線程數(shù)時,就不再增長了。
查看 max_connections
show variables like "max_connections";
結(jié)果如下:
+-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+
查看 threads_connected
show status like 'Thread_%';
結(jié)果如下:
+-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 0 | | Threads_connected | 1 | | Threads_created | 1 | | Threads_running | 1 | +-------------------+-------+
設(shè)置max_connections
設(shè)置辦法是在my.cnf文件中找到max_connections一項修改即可,若沒有該項,請在[mysqld]下添加一行:
[mysqld] max_connections=1000
修改完畢后,重啟MySQL即可。當(dāng)然,為了確保設(shè)置正確,應(yīng)該查看一下max_connections。
注意:
- 1、這里寫的1000。請按實際要求修改;
- 2、添加了最大允許連接數(shù),對系統(tǒng)消耗增加不大。
- 3、如果你的mysql用的是my.ini作配置文件,設(shè)置類似,但設(shè)置的格式要稍作變通。
其他需注意的:
在編程時,由于用MySQL語句調(diào)用數(shù)據(jù)庫時,在每次之執(zhí)行語句前,會做一個臨時的變量用來打開數(shù)據(jù)庫,所以你在使用MySQL語句的時候,記得在每次調(diào)用完MySQL之后就關(guān)閉MySQL臨時變量。
另外對于訪問量大的,可以考慮直接寫到文本中,根據(jù)預(yù)測的訪問量,先定義假若是100個文件文件名,需要的時候,再對所有文本文件中的數(shù)據(jù)進(jìn)行分析,再導(dǎo)入數(shù)據(jù)庫。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案
這篇文章主要介紹了mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案,需要的朋友可以參考下2021-05-05
使用MySQL的LAST_INSERT_ID來確定各分表的唯一ID值
MySQL數(shù)據(jù)表結(jié)構(gòu)中,一般情況下,都會定義一個具有‘AUTO_INCREMENT’擴(kuò)展屬性的‘ID’字段,以確保數(shù)據(jù)表的每一條記錄都可以用這個ID唯一確定2011-08-08
MySQL 搭建雙主復(fù)制服務(wù)并通過 HAProxy 負(fù)載均衡的過程詳解
在數(shù)據(jù)庫管理中,數(shù)據(jù)的備份和同步是至關(guān)重要的環(huán)節(jié),而雙主復(fù)制(Dual Master Replication)作為一種高可用性和數(shù)據(jù)同步的解決方案,本文將介紹MySQL雙主復(fù)制的配置過程并通過 HAProxy 負(fù)載均衡,感興趣的朋友一起看看吧2024-03-03
兩個windows服務(wù)器使用canal實現(xiàn)mysql實時同步
canal是阿里基于java寫的一個組件,他的作用是canal.deployer讀取mysql數(shù)據(jù)的binlog日志,然后canal.adapter將其轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)(數(shù)據(jù)的變化或者變化后的數(shù)據(jù),跟配置有關(guān)),并且同步到相關(guān)中間件,本文實現(xiàn)兩個windows服務(wù)器使用canal實現(xiàn)mysql主從復(fù)制實時同步2025-03-03
MySQL實現(xiàn)差集(Minus)和交集(Intersect)測試報告
MySQL沒有實現(xiàn)Minus和Intersect功能,就像它也沒有實現(xiàn)cube的功能一樣。2014-06-06
Mysql查看最大連接數(shù)和修改最大連接數(shù)的講解
今天小編就為大家分享一篇關(guān)于Mysql查看最大連接數(shù)和修改最大連接數(shù)的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03

