电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 8.0新特性 — 管理端口的使用簡(jiǎn)介

瀏覽:58日期:2023-10-04 18:14:28
前言

下面這個(gè)報(bào)錯(cuò),相信大多數(shù)童鞋都遇見過;那么碰到這個(gè)問題,我們應(yīng)該怎么辦呢?在MySQL 5.7及之前版本,出現(xiàn)“too many connection”報(bào)錯(cuò),超級(jí)用戶root也無法登錄上去,除了重啟實(shí)例,沒有其他更好的解決辦法;不過在MySQL 8.0版本中,是對(duì)連接管理做了一些優(yōu)化,下面我們就來看一下。

ERROR 1040 (HY000): Too many connections連接管理

在MySQL 8.0版本中,對(duì)連接管理這一塊,是先后做了兩個(gè)比較大的改變:一個(gè)是允許額外連接,另一個(gè)是專用的管理端口。

額外連接

在MySQL 8.0版本中,在當(dāng)前連接數(shù)達(dá)到最大連接數(shù)時(shí),服務(wù)端允許1個(gè)額外連接,可以讓具有CONNECTION_ADMIN權(quán)限的用戶連接進(jìn)來,下面簡(jiǎn)單測(cè)試一下。

(1)為了方便測(cè)試,先調(diào)整最大連接數(shù)

mysql> set global max_connections=3;Query OK, 0 rows affected (0.00 sec)

(2)多開幾個(gè)會(huì)話,以達(dá)到最大連接數(shù)

mysql> show processlist;+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| 15 | event_scheduler | localhost | NULL | Daemon | 154190 | Waiting on empty queue | NULL || 54 | root | localhost | NULL | Query | 0 | starting | show processlist || 55 | test | 127.0.0.1:59120 | NULL | Sleep | 19 | | NULL || 56 | test | 127.0.0.1:59136 | NULL | Sleep | 9 | | NULL |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+4 rows in set (0.00 sec)mysql> show global status like ’threads_connected’;+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_connected | 3 |+-------------------+-------+4 rows in set (0.01 sec)

(3)普通用戶test嘗試連接,報(bào)錯(cuò)too many connections

$ mysql -utest -p -h127.0.0.1 -P10080Enter password: ERROR 1040 (08004): Too many connections

(4)超級(jí)用戶root嘗試連接成功

$ mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 60Server version: 8.0.20 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ’help;’ or ’h’ for help. Type ’c’ to clear the current input statement.mysql>

(5)再次查看當(dāng)前連接數(shù),為max_connections+1

+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| 15 | event_scheduler | localhost | NULL | Daemon | 155064 | Waiting on empty queue | NULL || 54 | root | localhost | NULL | Query | 0 | starting | show processlist || 55 | test | 127.0.0.1:59120 | NULL | Sleep | 893 | | NULL || 56 | test | 127.0.0.1:59136 | NULL | Sleep | 883 | | NULL || 60 | root | localhost | NULL | Sleep | 141 | | NULL |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+5 rows in set (0.00 sec)mysql> show global status like ’threads_connected’;+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_connected | 4 |+-------------------+-------+4 rows in set (0.00 sec)

(6)超級(jí)用戶root再次嘗試連接,也報(bào)錯(cuò)too many connections

$ mysql -uroot -pEnter password: ERROR 1040 (HY000): Too many connections

通過上面測(cè)試可知,在MySQL 8.0中,允許的連接數(shù)為max_connections+1,其中這1個(gè)額外連接,只允許具有CONNECTION_ADMIN權(quán)限的用戶使用。通過這1個(gè)額外連接,DBA可以使用超級(jí)用戶root連接,進(jìn)行kill會(huì)話等管理操作,以避免直接重啟實(shí)例,降低成本,提高效率。

管理端口

額外連接,在一定程度上,提供了出現(xiàn)too many connection問題時(shí)的臨時(shí)解決手段,但額外數(shù)量只有1個(gè),難免會(huì)有一些意外,出現(xiàn)類似'連接被搶用'、“終端異常掉線”等情況。因此,在MySQL 8.0.14版本中,又推出了一個(gè)非常重要的新特性——管理端口;它允許具有SERVICE_CONNECTION_ADMIN權(quán)限的用戶,通過特定的IP和PORT連接上來,且沒有連接數(shù)限制。

(1)先介紹下相關(guān)參數(shù)

admin_address:監(jiān)聽I(yíng)P地址admin_port:監(jiān)聽端口create_admin_listener_thread:是否創(chuàng)建一個(gè)單獨(dú)的線程來監(jiān)聽管理連接

(2)通過配置上述參數(shù),即可啟用管理端口

mysql> show global variables like ’admin%’;+---------------+-----------+| Variable_name | Value |+---------------+-----------+| admin_address | 127.0.0.1 || admin_port | 33062 |+---------------+-----------+2 rows in set (0.00 sec)# netstat -lntp | grep 33062tcp 0 0 127.0.0.1:33062 0.0.0.0:* LISTEN 20042/mysqld

(3)接下來進(jìn)行測(cè)試

mysql> show processlist;+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| 15 | event_scheduler | localhost | NULL | Daemon | 168750 | Waiting on empty queue | NULL || 54 | root | localhost | NULL | Query | 0 | starting | show processlist || 55 | test | 127.0.0.1:59120 | NULL | Sleep | 14579 | | NULL || 56 | test | 127.0.0.1:59136 | NULL | Sleep | 14569 | | NULL |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+4 rows in set (0.00 sec)mysql> show global status like ’threads_connected’;+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_connected | 3 |+-------------------+-------+1 row in set (0.00 sec)

(4)普通用戶test嘗試連接,報(bào)錯(cuò)too many connections

$ mysql -utest -p -h127.0.0.1 -P10080Enter password: ERROR 1040 (08004): Too many connections

(5)超級(jí)用戶root嘗試通過管理端口連接成功

$ mysql -uroot -p -h127.0.0.1 -P33062Enter password: Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 62Server version: 8.0.20 MySQL Community Server - GPLCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ’help;’ or ’h’ for help. Type ’c’ to clear the current input statement.mysql>

(6)繼續(xù)多開幾個(gè)會(huì)話,使用超級(jí)用戶root,通過管理端口連接成功,不受最大連接數(shù)max_connections限制

mysql> show processlist;+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| Id | User | Host | db | Command | Time | State | Info |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+| 15 | event_scheduler | localhost | NULL | Daemon | 169035 | Waiting on empty queue | NULL || 54 | root | localhost | NULL | Query | 0 | starting | show processlist || 55 | test | 127.0.0.1:59120 | NULL | Sleep | 14864 | | NULL || 56 | test | 127.0.0.1:59136 | NULL | Sleep | 14854 | | NULL || 62 | root | 127.0.0.1:47660 | NULL | Sleep | 151 | | NULL || 63 | root | 127.0.0.1:47760 | NULL | Sleep | 52 | | NULL || 64 | root | 127.0.0.1:47768 | NULL | Sleep | 43 | | NULL || 65 | root | 127.0.0.1:47780 | NULL | Sleep | 35 | | NULL || 66 | root | 127.0.0.1:47790 | NULL | Sleep | 24 | | NULL || 67 | root | 127.0.0.1:47800 | NULL | Sleep | 16 | | NULL || 68 | root | 127.0.0.1:47808 | NULL | Sleep | 8 | | NULL |+----+-----------------+-----------------+------+---------+--------+------------------------+------------------+11 rows in set (0.00 sec)mysql> show global status like ’threads_connected’;+-------------------+-------+| Variable_name | Value |+-------------------+-------+| Threads_connected | 10 |+-------------------+-------+1 row in set (0.00 sec)

可以說,有了管理端口這個(gè)新功能,DBA再也不用擔(dān)心too many connections的問題。

總結(jié)

在MySQL 8.0版本中,為了應(yīng)對(duì)too many connections的場(chǎng)景,先后推出了額外連接和管理端口兩個(gè)新功能,可以讓DBA方便、快速地解決問題;不過,這始終是一個(gè)臨時(shí)應(yīng)急手段,最根本的原因還是要排查應(yīng)用端的配置(并發(fā)限流、SQL性能、連接池配置等等),以徹底規(guī)避此類問題。

以上就是MySQL 8.0新特性 — 管理端口的使用簡(jiǎn)介的詳細(xì)內(nèi)容,更多關(guān)于MySQL 8.0新特性 — 管理端口的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 剪刃_纵剪机刀片_分条机刀片-南京雷德机械有限公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 汽液过滤网厂家_安平县银锐丝网有限公司| 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 东莞ERP软件_广州云ERP_中山ERP_台湾工厂erp系统-广东顺景软件科技有限公司 | 山东钢格板|栅格板生产厂家供应商-日照森亿钢格板有限公司 | 深圳工程师职称评定条件及流程_深圳职称评审_职称评审-职称网 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 学校用栓剂模,玻璃瓶轧盖钳,小型安瓿熔封机,实验室安瓿熔封机-长沙中亚制药设备有限公司 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 陕西安闸机-伸缩门-车牌识别-广告道闸——捷申达门业科技 | 真空乳化机-灌装封尾机-首页-温州精灌| 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 温州在线网| 紫外荧光硫分析仪-硫含量分析仪-红外光度测定仪-泰州美旭仪器 | 恒温恒湿试验箱_高低温试验箱_恒温恒湿箱-东莞市高天试验设备有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | CNC机加工-数控加工-精密零件加工-ISO认证厂家-鑫创盟 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 | 环比机械| 汽液过滤网厂家_安平县银锐丝网有限公司 | 合金ICP光谱仪(磁性材料,工业废水)-百科| 粘度计,数显粘度计,指针旋转粘度计 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 【电子厂招聘_普工招工网_工厂招聘信息平台】-工立方打工网 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 电力电子产业网 | 找培训机构_找学习课程_励普教育| 印刷人才网 印刷、包装、造纸,中国80%的印刷企业人才招聘选印刷人才网! | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 |