全备和恢复
用xtrabackup进行全备(后台全备--xtrabackup备份时先把数据文件全部拷贝,然后把redo日志全部拷贝。然后恢复的时候,把redo日志里的语句已经提交的,但是还没刷进去文件的,刷进去文件。还没提交的,直接回滚):
nohup /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf --user root --host localhost --password 123456 /data/backup/ >>/data/backup/backup.log &
或者把 /data/xtrabackup/bin/innobackupex --defaults-file=/etc/mysql/my.cnf
--user root --host localhost --password 123456 /data/backup/ 写入到 /data/shell/backup.sh
nohup sh /data/shell/backup.sh >>/data/backup/backup.log 2&>1 &
恢复(这个是要把redo日志里的已经提交的事务给刷新到文件里面,还没提交的事务,回滚不要了):
nohup /data/xtrabackup/bin/innobackupex --apply-log /data/backup/2019-07-13_17-43-02 >>/data/backup/backup.log &
mv /data/mysql /data/mysql.bak
mv /data/backup/2019-07-13_17-43-02 /data/mysql
chown -R /data/mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql --datadir=/data/mysql/datanode1 --skip-slave-start --explicit_defaults_for_timestamp &
网友评论