个人vps主机出现数据库无法启动不能进入安全模式无法修复,同时也无法使用mysqldump导出SQL的时候,可能唯一可行的就是重装了,但重装之前必须要将数据备份出来,最近本站就遇到。
备份(冷备份)
# 1. 停止MySQL服务(确保完全停止)
sudo systemctl stop mysql
# 2. 创建备份目录
sudo mkdir -p /backup/mysql_data_$(date +%Y%m%d)
# 3. 复制整个数据目录(默认是/var/lib/mysql)
# 重要:使用-p保留权限,-a保留所有属性
sudo cp -a /var/lib/mysql/* /backup/mysql_data_$(date +%Y%m%d)/
# 4. 备份配置文件
sudo cp /etc/mysql/my.cnf /backup/mysql_config_$(date +%Y%m%d).cnf
# 5. 压缩备份(节省空间)
sudo tar -czf /backup/mysql_complete_backup_$(date +%Y%m%d).tar.gz /backup/mysql_data_$(date +%Y%m%d)/
重装MySQL服务器
# 1. 彻底卸载MySQL(保留数据目录)
sudo systemctl stop mysql
sudo apt purge mysql-server mysql-client mysql-common
sudo apt autoremove
# 2. 删除残留配置文件(可选,但建议备份后删除)
sudo mv /etc/mysql /etc/mysql_old_backup
# 3. 清理数据目录(如果确定备份完整且想全新安装)
# ⚠️ 危险操作:确保备份已完成!
# sudo rm -rf /var/lib/mysql/*
# 4. 重新安装MySQL
sudo apt update
sudo apt install mysql-server mysql-client
从物理备份恢复
# 1. 停止新安装的MySQL
sudo systemctl stop mysql
# 2. 恢复数据目录
sudo rm -rf /var/lib/mysql/*
sudo cp -a /backup/mysql_data_20231231/* /var/lib/mysql/
# 3. 修复权限
sudo chown -R mysql:mysql /var/lib/mysql
# 4. 启动MySQL
sudo systemctl start mysql
sudo systemctl status mysql
验证数据完整性
mysql -u root -p -e "SHOW DATABASES;"
冷备份也是硬备份的方法,也可以用于日常维护。
