以下是Debian系統下MariaDB故障的快速恢復步驟,可根據具體場景選擇操作:
sudo systemctl restart mariadb
sudo systemctl status mariadb # 檢查服務是否運行
sudo journalctl -u mariadb # 查看實時日志(定位啟動失敗原因)
sudo cat /var/log/mariadb/error.log # 分析錯誤日志(如權限、配置錯誤)
innodb_force_recovery
強制恢復/etc/mysql/mariadb.conf.d/50-server.cnf
,添加:[mysqld]
innodb_force_recovery = 1 # 逐步嘗試1-6,直到能啟動服務
重啟服務后,導出數據并重建表:sudo mysqldump -u root -p --all-databases > backup.sql # 導出數據
sudo mysql -u root -p < backup.sql # 重新導入
mariabackup
或mysqldump
創建):sudo mariabackup --prepare --target-dir=/path/to/backup # 準備備份
sudo rsync -aP /path/to/backup/ /var/lib/mysql/ # 恢復數據
sudo chown -R mysql:mysql /var/lib/mysql # 修復權限
sudo systemctl restart mariadb
mysqldump
備份:mysql -u root -p < /path/to/backup.sql
sudo mariadb-config-editor set | grep -i error # 檢查配置錯誤
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf # 修正錯誤(如端口號、數據目錄)
sudo systemctl restart mariadb
sudo chown -R mysql:mysql /var/lib/mysql /etc/mysql # 確保MariaDB用戶擁有權限
sudo chmod -R 750 /var/lib/mysql
mariabackup
工具(推薦,支持增量備份):
sudo apt install mariadb-backup
sudo mariabackup --prepare --target-dir=/backup/full
sudo rsync -aP /backup/full/ /var/lib/mysql/
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mariadb
cron
定時執行mysqldump
或mariabackup
,存儲至異地服務器。htop
、iotop
等工具監控磁盤、內存使用,避免因資源不足導致服務中斷。注意:操作前務必備份當前數據,若自行處理無效,建議聯系專業運維或參考MariaDB官方文檔。