您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用MySQL 5.6參數extra_port”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用MySQL 5.6參數extra_port”吧!
一 前言
作為MySQL DBA, 在運維MySQL的工作過程中,常常遇到Too many connections這個錯誤,這時作為數據庫維護人員都不能登陸數據庫進行維護 是多么窘迫的事。可能有人會說可以修改配置文件,然后重啟數據庫來解決。恩,不過這個是很多種解決方法中 可用性最差的一種,本文介紹通過 5.6 新的特性--管理端口 來解決這個問題。
二 認識 extra_port
MySQL 在5.6.14 版本之后引入一個參數extra_port 用來解決too many connections的問題。
percona 官方介紹:
從官方文檔介紹來看,在MySQL啟動的時候使用該參數指定一個端口號(不要和正常的數據庫服務端口沖突),Percona Server會監聽來自該端口的請求。啟用該參數可以解決使用thread_pool特性時,由于所有的連接池worker忙于處理慢querey或者被鎖定導致DBA無法通過正常的端口連接DB, 以便DBA可以正常維護數據庫。
具體用法如下:
mysql --port='extra-port-number' --protocol=tcp
Maridb 官方介紹 (和percona的介紹類似,讀者朋友可以自己翻譯)
Description: Extra port number to use for tcp-connections in a one-thread-per-connection manner. If set to 0, no other port is used. Introduced for the MariaDB 5.1 threadpool.
extra_max_connections 該參數主要是控制通過管理端口可以創建多少個連接。
官方介紹:
"This variable can be used to specify the maximum allowed number of connections plus one extra SUPER users connection on the extra_port. This can be used with the extra_port variable to access the server in case no new connections can be established due to all worker threads being busy or being locked when pool-of-threads feature is enabled."
三 extra_port 測試
測試環境:5.6.26-74.0-log Percona Server
參數設置:
max_connections = 1
extra_max_connections = 1
extra_port=13306
通過上面兩個參數,來設置整個數據庫的連接數。通過上面的參數配置,最多可以創建4個連接。
測試過程,通過使用下面的命令,嘗試連接數據庫:
場景1 模擬業務連接數據庫,在兩個不同的session下嘗試連接
mysql -uyang -pyang -h227.0.0.1 -P3306
場景2 模擬DBA連接數據庫,在兩個不同的session下嘗試連接
mysql -uroot -h227.0.0.1 -P3306
場景3 模擬DBA連接數據庫,在兩個不同的session下嘗試連接
mysql -S /srv/my_3306/run/mysql.sock
場景4 占滿數據庫的所有連接數,然后使用extra_port 端口以root身份連接
mysql --port=13306 --protocol=tcp -uroot -h227.0.0.1
場景5 占滿數據庫的所有連接數,然后使用extra_port 端口以業務身份連接
mysql --port=13306 --protocol=tcp -uyang -pyang -h227.0.0.1
場景6 這次不指定通信協議,嘗試連接
mysql --port=13306 -uyang -pyang -h227.0.0.1
場景7 模擬DBA和業務同時連接數據庫,在兩個不同的session下嘗試連接
mysql -uyang -pyang -h227.0.0.1 -P3306
mysql -S /srv/my_3306/run/mysql.sock
mysql -uroot -h227.0.0.1 -P3306
測試的結果
場景1,只能連接1次,第2次報錯 ERROR 1040 (HY000): Too many connections
場景2,只能連接2次,第3次報錯 ERROR 1040 (HY000): Too many connections
場景3,只能連接2次,第3次報錯 ERROR 1040 (HY000): Too many connections
場景4,可以連接2次,第3次報錯 ERROR 1040 (HY000): Too many connections
場景5,無法連接,提示"ERROR 1040 (HY000): Too many connections"
場景6, 在業務占用連接池滿,以管理員可以連接2次,
場景7 如果管理員先登陸 ,業務方無法連接; 如果業務方先登陸,管理員可以登陸一次,無法登陸第二次
共可以連接4次。
到此,相信大家對“怎么使用MySQL 5.6參數extra_port”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。