CentOS 7中MySQL連接數(shù)被限制為214個(gè)的解決方法
發(fā)現(xiàn)問題
最近在項(xiàng)目中遇到一個(gè)問題,由于連接數(shù)過多,提示 “Too many connections” ,需要增加連接數(shù)。
我在 /etc/my.cnf中修改了:
max_connections = 2000
但是, 實(shí)際連接數(shù)一直被限制在 214:
mysql> show variables like "max_connections"; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 214 | +-----------------+-------+ 1 row in set
思考
如果我設(shè)置連接小于214時(shí),比如 200,那么實(shí)際連接數(shù)就是 200,也就是說,我的配置文件是沒有問題的。
查 MySQL 官方文檔,里面說了:
The maximum number of connections MySQL can support depends on the quality of the thread library on a given platform, the amount of RAM available, how much RAM is used for each connection, the workload from each connection, and the desired response time. Linux or Solaris should be able to support at 500 to 1000 simultaneous connections routinely and as many as 10,000 connections if you have many gigabytes of RAM available and the workload from each is low or the response time target undemanding. Windows is limited to (open tables × 2 + open connections) < 2048 due to the Posix compatibility layer used on that platform.
Increasing open-files-limit may be necessary. Also see Section 2.5, “Installing MySQL on Linux”, for how to raise the operating system limit on how many handles can be used by MySQL.
大概意思是 MySQL 能夠支持的最大連接數(shù)量受限于操作系統(tǒng),必要時(shí)可以增大 open-files-limit。換言之,連接數(shù)與文件打開數(shù)有關(guān)。
解決方法
[root@sqzr ~]# ulimit -n 1024
可知,操作系統(tǒng)最大文件描述符限制為 1024。
更改 MySQL 在 Linux 的最大文件描述符限制,編輯 /usr/lib/systemd/system/mysqld.service 文件,在文件最后添加:
LimitNOFILE=65535 LimitNPROC=65535
保存后,執(zhí)行下面命令,使配置生效
$ systemctl daemon-reload $ systemctl restart mysqld.service
實(shí)際連接數(shù)到 2000 了,解決
mysql> show variables like "max_connections"; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 2000 | +-----------------+-------+ 1 row in set
參考
https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html
https://www.oschina.net/question/853151_241231
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- python 連接數(shù)據(jù)庫(kù)mysql解壓版安裝配置及遇到問題
- 查看mysql當(dāng)前連接數(shù)的方法詳解
- Mysql查看最大連接數(shù)和修改最大連接數(shù)的講解
- mysql最大連接數(shù)設(shè)置技巧總結(jié)
- mysql連接數(shù)設(shè)置操作方法(Too many connections)
- 完美解決MySQL通過localhost無法連接數(shù)據(jù)庫(kù)的問題
- JavaWeb連接數(shù)據(jù)庫(kù)MySQL的操作技巧
- Python 3.x 連接數(shù)據(jù)庫(kù)示例(pymysql 方式)
- php mysql操作mysql_connect連接數(shù)據(jù)庫(kù)實(shí)例詳解
- 總結(jié)MySQL修改最大連接數(shù)的兩個(gè)方式
- Mysql連接數(shù)設(shè)置和獲取的方法
相關(guān)文章
設(shè)置MySQL自動(dòng)增長(zhǎng)從某個(gè)指定的數(shù)開始方法
下面小編就為大家?guī)硪黄O(shè)置MySQL自動(dòng)增長(zhǎng)從某個(gè)指定的數(shù)開始方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Mysql中substring_index函數(shù)實(shí)現(xiàn)字符分割一行變多行
在MySQL中,字符串分割是一個(gè)常見的操作,本文主要介紹了Mysql中substring_index函數(shù)實(shí)現(xiàn)字符分割一行變多行,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
linux下指定mysql數(shù)據(jù)庫(kù)服務(wù)器主從同步的配置實(shí)例
linux下指定數(shù)據(jù)庫(kù)服務(wù)器主從同步的配置實(shí)例,有需要的朋友可以參考下2013-01-01
MySQL百萬級(jí)數(shù)據(jù)大分頁查詢優(yōu)化的實(shí)現(xiàn)
在數(shù)據(jù)庫(kù)開發(fā)過程中我們經(jīng)常會(huì)使用分頁,但是如果是百萬級(jí)數(shù)據(jù)呢,本文就詳細(xì)的介紹一下MySQL百萬級(jí)數(shù)據(jù)大分頁查詢優(yōu)化的實(shí)現(xiàn),感興趣的可以了解一下2022-01-01

