mysql备份

个人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;"

冷备份也是硬备份的方法,也可以用于日常维护。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理