解決mysql報(bào)錯(cuò):Data?source?rejected?establishment?of?connection,?message?from?server:?\"Too?many?connectio
最近在做壓力測試嘛,需要逐步增加用戶量做驗(yàn)證,每個(gè)用戶單獨(dú)創(chuàng)建數(shù)據(jù)庫進(jìn)行連接,就要不斷去創(chuàng)建數(shù)據(jù)庫,這個(gè)報(bào)錯(cuò)也很容易理解,mysql連接數(shù)不夠用了
報(bào)錯(cuò)
報(bào)錯(cuò)信息如下:
"SQLState":"08004","vendorCode":1040,"detailMessage":
"Data source rejected establishment of connection,message from server: \"Too many connections\""
原因
根本原因是mysql連接數(shù)不夠用了
但也要分情況看為什么不夠用了
1.是mysql的max_connections屬性配置太小?
2.還是是多次insert,update操作沒有關(guān)閉session?
如果你也不確定,就繼續(xù)往下看
解決
我們要知道,mysql版本的不同,可設(shè)置的最大連接數(shù)范圍也是有所區(qū)別的:
Mysql5.5~5.7:默認(rèn)的最大連接數(shù)都是151,上限為:100000
Mysql5.0版本:默認(rèn)的最大連接數(shù)為100,上限為16384
查看mysql版本
select version();
如下,我這里是基于mysql 5.7,那么默認(rèn)的最大連接數(shù)應(yīng)該是151
查看當(dāng)前mysql最大連接數(shù)限制
show variables like 'max_connections';
當(dāng)前最大連接數(shù)限制是151,說明沒有改過最大連接數(shù)限制
確定連接數(shù)不夠原因
如上所示,我的情況當(dāng)前是最大連接數(shù)限制是151,在此之前依然創(chuàng)建過十幾個(gè)數(shù)據(jù)庫;同時(shí)我又再次自行檢查過,我這里不存在未關(guān)閉session的操作
所以原因是max_connections屬性配置太小
修改最大連接數(shù)
修改mysql客戶端最大連接數(shù)可以通過兩種方式:
一種是使用命令設(shè)置,另一種是直接修改my.cnf文件
命令設(shè)置
使用命令設(shè)置這種方式是臨時(shí)修改,只能治標(biāo)不能治本,在這個(gè)mysql服務(wù)不重啟的條件下是可用的,若mysql重啟會(huì)恢復(fù)到mysql默認(rèn)的連接數(shù)(或者恢復(fù)到my.cnf文件中配置的最大連接數(shù))。
但由于我是在測試,無所謂,mysql重啟后的連接數(shù)
set global max_connections=1500;
修改my.cnf文件
mysql重啟后會(huì)優(yōu)先使用my.cnf配置文件中的配置,用上面命令設(shè)置后,若重啟mysql服務(wù),則還是會(huì)回到my.cnf文件中配置的最大連接數(shù)(或者默認(rèn)值)。
# 修改my.cnf文件,在文件中加入如下屬性 max_connections=1500 # 然后重啟mysql服務(wù) $ service mysqld restart
再次去創(chuàng)建數(shù)據(jù)庫連接,就沒問題了!
總結(jié)
到此這篇關(guān)于解決mysql報(bào)錯(cuò):Data source rejected establishment of connection, message from server: \"Too many connectio的文章就介紹到這了,更多相關(guān)mysql報(bào)錯(cuò)連接數(shù)不夠用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7.2下MySQL的安裝與相關(guān)配置
最近因?yàn)楣ぷ餍枰?,要在CentOS上安裝MySQL,在安裝的時(shí)候遇到了一點(diǎn)問題,花了點(diǎn)時(shí)間解決了,感覺不管是官網(wǎng)還是網(wǎng)上的一些教程都不夠完整,不能一次性幫新手解決問題,于是我就結(jié)合官網(wǎng)和網(wǎng)上的資源整理了下,現(xiàn)在分享給大家,希望對(duì)有需要的朋友們能有所幫助。2016-11-11mysql?體系結(jié)構(gòu)和存儲(chǔ)引擎介紹
這篇文章主要介紹了mysql?體系結(jié)構(gòu)和存儲(chǔ)引擎,通過mysql數(shù)據(jù)庫常見的數(shù)據(jù)庫引擎展開各個(gè)引擎之間的特性和區(qū)別。下文更多相關(guān)資料介紹感興趣的小伙伴可以參考一下2022-05-05MySql批量插入時(shí)如何不重復(fù)插入數(shù)據(jù)
Mysql插入不重復(fù)的數(shù)據(jù),當(dāng)大數(shù)據(jù)量的數(shù)據(jù)需要插入值時(shí),要判斷插入是否重復(fù),然后再插入,那么如何提高效率,本文就詳細(xì)的介紹一下,感興趣的可以了解一下2021-06-06MySql8 WITH RECURSIVE遞歸查詢父子集的方法
這篇文章主要介紹了MySql8 WITH RECURSIVE遞歸查詢父子集的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12