在公司項目開發過程中,隨著項目增加,經常會把每個項目的平台部署成開發、測試環境,而資料庫就有可能是多個平台共用一個了,現在基本上都是用的微服務架構,那麼資料庫連接就不夠用了。
我們用的是mysql資料庫,最近遇到了這個尷尬的問題,本地修改了代碼啟動的時候經常會連不上資料庫,提示就是:too many connections。既然連接太多,要麼減少連接,要麼擴大最大可連接數。
經過查詢,mysql資料庫的默認最大連接數是100,而最大連接數可以達到16384個,那就擴大連接數好了。先介紹幾個查詢關於資料庫連接數的命令:
1、查看資料庫當前連接信息,可以看到連接資料庫的進程id,ip,用戶名,連接的資料庫,連接狀態,連接時長等。
命令:show full processlist;執行結果如下圖:
有了進程id,我們可以殺死一些無用的進程,如:kill 130。需要注意,root賬號權限很大,可以kill大部分進程,其他賬號只能kill自己使用的進程。
2、查看資料庫配置的最大連接數。
命令:show variables like '%max_connections%';執行結果如下圖:
3、查看資料庫所有配置。
命令:show global variables;執行結果如下圖:
與2中查看最大連接數相同,如果我們需要找到某一個變量,就用 like 關鍵字模糊搜索就可以了。如:show global variables like '%basedir%';可以查看資料庫的安裝路徑。global是全局的意思。
以上命令在navicat等工具中也是可以執行的。回到今天的主題,如果我們的資料庫連接數較小,該如何修改配置呢?有兩種方法。
方法一:進入mysql用命令行修改,但是mysql重啟後就失效了,需要重新設置。(不推薦)
命令如下:
1、show variables like 'max_connections';(查看當前最大連接數)。
2、set global max_connections=1000;(設置最大連接數為1000,可以再次執行上面的命令查看設置是否成功)。
方法二:修改mysql配置文件,永久生效(推薦)
1、進入mysql安裝目錄,打開my.ini或my.cnf文件。
2、查看max_connections=100的配置參數,修改為max_connections=1000;如果沒有這個參數,直接添加max_connections=1000即可。
3、保存配置文件並退出,重啟mysql服務即可。
- 編程問答
- 答案列表
MySQL資料庫查看當前連接數、最大連接數並修改連接數[朗讀]
加入收藏