首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MariaDB 資料庫

MySQL/MariaDB 啟動卡進度條失敗:磁盤空間耗盡導致 ibdata1 鎖定失效

     編輯:MariaDB 資料庫

故障現象

服務啟動停留在進度條,最終報錯:

InnoDB: Unable to lock ./ibdata1, error: 11

根因

df -h 顯示數據目錄所在分區 100% 滿,InnoDB 無法對共享表空間 ibdata1 加鎖,導致啟動進程掛起超時。

解決方案:遷移數據目錄

  1. 停服務:/etc/init.d/mysql stop
  2. 複製數據 (假設新目錄 /home/mariadb):
    cp -R /data/mariadb /home/mariadb
    
  3. 授權:chown mysql:mysql -R /home/mariadb/
  4. 修改配置:編輯 /etc/my.cnf,將 datadir 指向新路徑
  5. 啟動驗證:/etc/init.d/mysql start

預防建議

  • 為數據目錄掛載獨立分區/邏輯卷,便於擴容
  • 設置磁盤告警 (如 df > 80% 觸發通知)
  • 定期清理 Binlog、慢查詢日誌、臨時表空間
  • 配置 innodb_file_per_table=ON 避免共享表空間無限增長
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved