Technical discuss

mysql完整备份

More
07 Feb 2026 21:35 #1119 by service
New Topic
方案A:彻底停止服务备份(推荐)
Code:
# 1. 停止MySQL服务 sudo systemctl stop mysql # 2. 确认完全停止 sudo systemctl status mysql # 应该显示:inactive (dead) # 3. 备份配置文件 sudo tar czf /backup/mysql_config_$(date +%Y%m%d_%H%M%S).tar.gz /etc/mysql/ # 4. 备份数据目录(物理备份) sudo tar czf /backup/mysql_data_full_$(date +%Y%m%d_%H%M%S).tar.gz /var/lib/mysql/ # 5. 重新启动MySQL sudo systemctl start mysql # 6. 验证启动成功 sudo systemctl status mysql tail -n 10 /var/log/mysql/error.log
方案B:不停机逻辑备份(如果必须在线)
Code:
# 1. 首先刷新所有日志和缓冲区 mysql -u root -p -e "FLUSH TABLES WITH READ LOCK; FLUSH LOGS;" # 2. 备份配置文件 sudo tar czf /backup/mysql_config_$(date +%Y%m%d_%H%M%S).tar.gz /etc/mysql/ # 3. 逻辑备份数据库(使用single-transaction确保一致性) mysqldump -u root -p --all-databases --triggers --routines --events --single-transaction --master-data=2 > /backup/mysql_full_$(date +%Y%m%d_%H%M%S).sql # 4. 解锁表 mysql -u root -p -e "UNLOCK TABLES;" # 5. 压缩备份 gzip /backup/mysql_full_*.sql


 

Please Log in or Create an account to join the conversation.

Powered by Kunena Forum
FaLang translation system by Faboba