首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL Server 啟動失敗:Socket 目錄遺失排查實錄

     編輯:MySQL 資料庫相關知識

錯誤日誌關鍵資訊

080329 16:01:29 [ERROR] Can't start server: Bind on unix socket: No such file or directory
080329 16:01:29 [ERROR] Do you already have another mysqld server running on socket: /var/run/mysqld/mysqld.sock?
080329 16:01:29 [ERROR] Aborting

根因追蹤

檢查套件安裝內容(Gentoo: equery f mysql 或 /var/db/pkg/dev-db/mysql-5.0.56/CONTENTS),發現安裝檔案包含 /var/run/mysqld 目錄,但該目錄實際不存在。回憶曾清空 /var/run,誤以為重啟系統會自動重建動態目錄,實則 MySQL 依賴此目錄存放 Socket 檔案,不會自動建立。

一鍵修復

mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld

建立目錄並授權給 mysql 用戶後,服務即可正常啟動。

經驗總結

  • /var/run 屬暫存檔案系統,重開機會清空,但部分需持久化的子目錄不會自動重建
  • 套件管理器記錄的安裝路徑是排查此類問題的關鍵線索
  • 生產環境建議將 Socket 目錄納入啟動腳本預檢建立邏輯
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved