以下是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官方文档。