最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 無監(jiān)聽端口故障問題排查記錄

 更新時(shí)間:2025年07月25日 09:08:15   作者:數(shù)據(jù)與人文  
文章解析MySQL運(yùn)維中因skip-grant-tables參數(shù)隱性啟用skip-networking導(dǎo)致端口未監(jiān)聽的故障,指導(dǎo)如何排查及恢復(fù)網(wǎng)絡(luò)連接,強(qiáng)調(diào)參數(shù)關(guān)聯(lián)與安全機(jī)制,本文給大家介紹MySQL 無監(jiān)聽端口故障問題排查記錄,感興趣的朋友一起看看吧

在 MySQL 運(yùn)維中,"無法連接數(shù)據(jù)庫" 是常見問題,而 "無監(jiān)聽端口" 則是其中較為隱蔽的一類。本文結(jié)合實(shí)際案例,詳細(xì)拆解 MySQL 端口未監(jiān)聽的故障排查過程,揭示skip-grant-tables參數(shù)背后的隱性影響,幫助運(yùn)維人員快速定位并解決類似問題。

一、故障現(xiàn)象:連接失敗與端口異常

某運(yùn)維人員反饋,遠(yuǎn)程客戶端無法連接 MySQL 實(shí)例,報(bào)錯(cuò)信息如下:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

初步排查發(fā)現(xiàn)三個(gè)關(guān)鍵異常:

  • 進(jìn)程存在:MySQL 進(jìn)程正常運(yùn)行(通過ps -ef | grep mysql確認(rèn)):
    [root@wx ~]# ps -ef|grep [m]ysql
    mysql 25973 1 1 8月30 ? 02:43:20 /mysqldata/mysql/base/8.0.24/bin/mysqld --defaults-file=/mysqldata/mysql/etc/3308/my.cnf --daemonize --pid-file=/mysqldata/mysql/data/3308/mysqld.pid --user=mysql --socket=/mysqldata/mysql/data/3308/mysqld.sock --port=3308
  • 端口未監(jiān)聽:檢查 3308 端口無監(jiān)聽(lsof -i:3308ss -nltp|grep 3308均無輸出)。
  • 日志與變量異常:?jiǎn)?dòng)日志顯示port: 0,數(shù)據(jù)庫內(nèi)查詢port變量也返回 0:
    mysql> show variables like 'port';
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | port          | 0     |
    +---------------+-------+

二、排查過程:從常見到特殊的逐步深入

1. 排除常規(guī)原因

  • 防火墻:確認(rèn)防火墻已開放 3308 端口(firewall-cmd --list-ports顯示 3308/tcp 已開放)。
  • 配置文件:檢查my.cnf,確認(rèn)port=3308配置正確,無語法錯(cuò)誤。
  • skip-networking 參數(shù):常規(guī)情況下,skip-networking會(huì)禁用 TCP/IP 連接,導(dǎo)致端口不監(jiān)聽。但檢查配置文件,未發(fā)現(xiàn)該參數(shù)。

2. 關(guān)鍵線索:skip-grant-tables的隱性影響

在排查配置文件時(shí),發(fā)現(xiàn)啟用了skip-grant-tables參數(shù):

[mysqld]
skip-grant-tables  # 允許無密碼登錄,禁用權(quán)限檢查
port=3308
socket=/mysqldata/mysql/data/3308/mysqld.sock

通過查閱 MySQL 官方文檔,發(fā)現(xiàn)skip-grant-tables的特殊行為:
當(dāng)啟用skip-grant-tables時(shí),MySQL 會(huì)自動(dòng)啟用skip-networking,即使配置文件中未顯式設(shè)置。這是因?yàn)?code>skip-grant-tables禁用了權(quán)限系統(tǒng)(任何人可無密碼登錄),為安全起見,MySQL 會(huì)默認(rèn)關(guān)閉網(wǎng)絡(luò)連接,僅允許通過 socket 本地連接,從而導(dǎo)致端口被強(qiáng)制設(shè)置為 0(不監(jiān)聽任何 TCP 端口)。

三、原理詳解:skip-grant-tables的安全機(jī)制

skip-grant-tables是 MySQL 的應(yīng)急參數(shù),主要用于重置丟失的 root 密碼(無需驗(yàn)證權(quán)限直接登錄)。但其設(shè)計(jì)包含嚴(yán)格的安全限制:

  • 禁用權(quán)限表:MySQL 啟動(dòng)時(shí)不加載mysql庫中的權(quán)限表(如userdb),所有用戶可無密碼登錄,且擁有全部權(quán)限。
  • 自動(dòng)啟用skip-networking:為防止遠(yuǎn)程惡意訪問,強(qiáng)制禁用 TCP/IP 連接,僅允許通過socket文件本地連接(port=0即為此機(jī)制的體現(xiàn))。
  • 其他限制:禁用定時(shí)事件、插件加載、密碼失效機(jī)制等依賴權(quán)限表的功能。

這解釋了為何配置port=3308卻實(shí)際監(jiān)聽端口為 0——skip-grant-tables的安全機(jī)制覆蓋了顯式端口配置。

四、解決方案:恢復(fù)正常端口監(jiān)聽

1. 臨時(shí)恢復(fù)(適用于需遠(yuǎn)程操作的場(chǎng)景)

若需臨時(shí)啟用網(wǎng)絡(luò)連接(如遠(yuǎn)程重置密碼后驗(yàn)證),可在登錄后執(zhí)行權(quán)限刷新操作,觸發(fā)權(quán)限表加載,從而自動(dòng)關(guān)閉skip-networking

-- 本地通過socket登錄
mysql -S /mysqldata/mysql/data/3308/mysqld.sock
-- 刷新權(quán)限表(加載權(quán)限系統(tǒng),自動(dòng)關(guān)閉skip-networking)
flush privileges;
-- 此時(shí)端口已恢復(fù)監(jiān)聽
show variables like 'port';  -- 輸出3308

2. 永久解決(推薦)

完成應(yīng)急操作后,應(yīng)立即禁用skip-grant-tables,恢復(fù)正常安全機(jī)制:

  • 編輯my.cnf,注釋或刪除skip-grant-tables
    [mysqld]
    # skip-grant-tables  # 注釋此行
    port=3308
    socket=/mysqldata/mysql/data/3308/mysqld.sock
  • 重啟 MySQL 服務(wù):
    systemctl restart mysqld  # 或?qū)?yīng)服務(wù)名
  • 驗(yàn)證端口監(jiān)聽:
    ss -nltp|grep 3308  # 顯示監(jiān)聽狀態(tài)

五、總結(jié)與最佳實(shí)踐

1. skip-grant-tables使用規(guī)范

  • 僅應(yīng)急使用:僅限重置密碼等緊急場(chǎng)景,操作完成后立即禁用。
  • 本地操作:?jiǎn)⒂闷陂g僅通過socket本地連接,避免遠(yuǎn)程暴露風(fēng)險(xiǎn)。
  • 及時(shí)刷新權(quán)限:若需臨時(shí)遠(yuǎn)程訪問,登錄后立即執(zhí)行flush privileges,并在操作后重啟服務(wù)禁用參數(shù)。

2. 端口異常排查思路

遇到端口未監(jiān)聽時(shí),除常規(guī)檢查portskip-networking外,需特別關(guān)注:

  • 是否啟用skip-grant-tables(隱性啟用skip-networking)。
  • 啟動(dòng)日志中port的實(shí)際值(是否為 0)。
  • 權(quán)限刷新后參數(shù)的動(dòng)態(tài)變化(flush privileges的影響)。

通過本文案例可見,MySQL 的部分參數(shù)存在隱性關(guān)聯(lián)(如skip-grant-tablesskip-networking),運(yùn)維中需深入理解參數(shù)原理,而非僅依賴表面配置。遇到異常時(shí),結(jié)合官方文檔與日志信息,往往能快速定位根因。

到此這篇關(guān)于MySQL 無監(jiān)聽端口故障 的文章就介紹到這了,更多相關(guān)mysql無監(jiān)聽端口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL事務(wù)隔離機(jī)制詳解

    MySQL事務(wù)隔離機(jī)制詳解

    在數(shù)據(jù)庫中,事務(wù)是指一組邏輯操作,這些操作要么全部執(zhí)行,要么全部不執(zhí)行,是一個(gè)不可分割的工作單位,這篇文章主要介紹了MySQL事務(wù)隔離機(jī)制,需要的朋友可以參考下
    2022-11-11
  • mysql多實(shí)例部署實(shí)例教程

    mysql多實(shí)例部署實(shí)例教程

    這篇文章主要介紹了mysql多實(shí)例部署,主要包括軟件下載、配置用戶并解壓二進(jìn)制程序至/usr/local下及創(chuàng)建各實(shí)例數(shù)據(jù)存放的目錄,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • MySQL性能優(yōu)化之table_cache配置參數(shù)淺析

    MySQL性能優(yōu)化之table_cache配置參數(shù)淺析

    這篇文章主要介紹了MySQL性能優(yōu)化之table_cache配置參數(shù)淺析,本文介紹了它的緩存機(jī)制、參數(shù)優(yōu)化及清空緩存的命令等,需要的朋友可以參考下
    2014-07-07
  • MySQL主庫binlog(master-log)與從庫relay-log關(guān)系代碼詳解

    MySQL主庫binlog(master-log)與從庫relay-log關(guān)系代碼詳解

    這篇文章主要介紹了MySQL主庫binlog與從庫relay-log關(guān)系的相關(guān)內(nèi)容,涉及部分代碼,需要的朋友可以參考。
    2017-10-10
  • MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法

    MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法

    在這里我們探討使用.frm文件恢復(fù)數(shù)據(jù)表機(jī)構(gòu)(當(dāng)然如果你以前備份過數(shù)據(jù)表,你可以使用調(diào)用備份的數(shù)據(jù)表)
    2010-02-02
  • mysql source 命令導(dǎo)入大的sql文件的方法

    mysql source 命令導(dǎo)入大的sql文件的方法

    本文將詳細(xì)介紹mysql source 命令導(dǎo)入大的sql文件的方法;需要的朋友可以參考下
    2012-11-11
  • vscode安裝mysql相關(guān)插件的詳細(xì)步驟

    vscode安裝mysql相關(guān)插件的詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于vscode安裝mysql相關(guān)插件的詳細(xì)步驟,這將幫助你更高效地管理數(shù)據(jù)庫操作,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • MYSQL必知必會(huì)讀書筆記 第一章(基礎(chǔ))

    MYSQL必知必會(huì)讀書筆記 第一章(基礎(chǔ))

    數(shù)據(jù)庫(database)是一個(gè)以某種有組織的方式存儲(chǔ)的數(shù)據(jù)集合。本文是小編日常收集整理些有關(guān)mysql的知識(shí),非常具有參考價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • Mysql中根據(jù)不同條件來統(tǒng)計(jì)、匯總數(shù)據(jù)的操作實(shí)例

    Mysql中根據(jù)不同條件來統(tǒng)計(jì)、匯總數(shù)據(jù)的操作實(shí)例

    在網(wǎng)站開發(fā)的過程中,經(jīng)常會(huì)用到數(shù)據(jù)統(tǒng)計(jì)功能,因此條件計(jì)數(shù)查詢便是不可避免的,這篇文章主要介紹了Mysql中根據(jù)不同條件來統(tǒng)計(jì)、匯總數(shù)據(jù)的操作實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-10-10
  • mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解

    mysql中url時(shí)區(qū)的陷阱該如何規(guī)避詳解

    最近在工作中發(fā)現(xiàn)一個(gè)問題,是關(guān)于mysql中url時(shí)區(qū)的,發(fā)現(xiàn)這個(gè)陷阱如果大家不注意可能都會(huì)遇到,所以給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于mysql中url時(shí)區(qū)的陷阱該如何規(guī)避的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08

最新評(píng)論

尉氏县| 东宁县| 乌拉特前旗| 铜鼓县| 磐石市| 鹤壁市| 民丰县| 福贡县| 大埔县| 巴塘县| 临猗县| 元谋县| 镇平县| 绥化市| 乌鲁木齐市| 乐亭县| 邵阳市| 镇平县| 连平县| 汤阴县| 县级市| 闵行区| 昌吉市| 亳州市| 衡南县| 荔浦县| 广灵县| 肇东市| 怀远县| 岳普湖县| 左贡县| 龙泉市| 喜德县| 卢龙县| 宣武区| 象山县| 崇明县| 景东| 岳阳县| 云霄县| 左权县|