mysql 备份
备份策略介绍
针对不同的场景下, 有不同的备份策略对数据库进行备份, 一般情况下, 备份策略一般为以下几种
-
直接cp,tar复制数据库文件
-
mysqldump+复制BIN LOGS
-
lvm2快照+复制BIN LOGS
-
xtrabackup
使用场景
-
如果数据量较小, 可以使用第一种方式, 直接复制数据库文件
-
如果数据量还行, 可以使用第二种方式, 先使用mysqldump对数据库进行完全备份, 然后定期备份BINARY LOG达到增量备份的效果
-
如果数据量一般, 而又不过分影响业务运行, 可以使用第三种方式, 使用
lvm2
的快照对数据文件进行备份, 而后定期备份BINARY LOG达到增量备份的效果 -
如果数据量很大, 而又不过分影响业务运行, 可以使用第四种方式, 使用
xtrabackup
进行完全备份后, 定期使用xtrabackup
进行增量备份或差异备份
物理复制备份
cp -a /var/lib/mysql/* /opt/back/
rm -rf /var/lib/mysql/*
恢复
cp -a /opt/back/ /var/lib/mysql
mysqldump 备份
mysqldump -uroot -ppasswword --all-databases > /opt/mysql_backup/mysqll_all_backup_$(date +%Y%m%d_%H%M%S).sql
mysqldump -uroot -p123456 --all-databases | gzip > /opt/mysql_backup/mysqll_all_backup_$(date +%Y%m%d_%H%M%S).sql.gz
恢复
mysqldump .... > /opt/backup.sql #先备份
恢复前
mysql> source /opt/backup.sql #再登录后进行恢复,恢复数据,所需时间根据数据库时间大小而定