逻辑备份(推荐)
mysqldump -u root -p --all-databases > /path/backup.sql
mysqldump -u root -p 数据库名 > /path/db_backup.sql
gzip /path/backup.sql
(节省空间)crontab
设置定时任务,如每天凌晨备份。物理备份(需停机)
sudo systemctl stop mysql
cp -R /var/lib/mysql /path/backup/
sudo systemctl start mysql
逻辑恢复
gunzip /path/backup.sql.gz
mysql -u root -p < /path/backup.sql
mysql -u root -p 数据库名 < /path/db_backup.sql
二进制日志恢复(精准恢复)
SHOW VARIABLES LIKE 'log_bin';
mysqlbinlog --start-datetime="YYYY-MM-DD HH:MM:SS" /var/lib/mysql/mysql-bin.000001 > recovery.sql
mysql -u root -p < recovery.sql
cron
定时备份+二进制日志,实现全量+增量恢复。参考来源:[1,2,3,4,5,6,7,8,9,10,11]