Ubuntu MariaDB故障恢复可按以下步骤操作,优先从备份恢复,无备份时尝试物理文件恢复或配置修复:
停止MariaDB服务
sudo systemctl stop mariadb
恢复SQL格式备份
mysql -u 用户名 -p 数据库名 < 备份文件.sql
恢复.dump格式备份
mysqlimport -u 用户名 -p --local 数据库名 备份文件.dump
# 或
mariadb-restore -u 用户名 -p --databases 数据库名 备份文件.dump
启动服务并验证
sudo systemctl start mariadb
mysql -u 用户名 -p 数据库名 # 检查数据是否恢复
物理文件恢复(需提前备份数据目录)
sudo systemctl stop mariadb
sudo cp -r /var/lib/mysql /var/lib/mysql_backup
sudo cp /path/to/backup/文件名.ibd /var/lib/mysql/
sudo chown mysql:mysql /var/lib/mysql/文件名.ibd
sudo chmod 660 /var/lib/mysql/文件名.ibd
sudo systemctl start mariadb
配置文件修复
/etc/mysql/my.cnf
权限和路径是否正确,修复后重启服务:sudo chown root:root /etc/mysql/my.cnf
sudo systemctl restart mariadb
mysql
用户:sudo chown -R mysql:mysql /var/lib/mysql
/var/log/mysql/error.log
,根据错误提示修复(如跳过权限检查启动):sudo mysqld_safe --skip-grant-tables &
注意:物理恢复可能导致数据不一致,建议优先通过备份恢复,操作前务必备份当前数据。