通过innobackupex 恢复全量备
-
校验全量备份文件
# 可用性校验 $ more backup_datetime.log #应在最后有明确的MySQL binlog position及completed OK!成功提醒。 # 完整性校验 $ sha256sum -cw full_backup_file.tar.gz.SHA256 #终端输出OK。
-
恢复全量备份文件
# 解压全量备份 $ tar -xf full_bakckup_file.tar.gz -C /recover_dir_tmp/data/ # 恢复全量备份 $ innobackupex --apply-log /recover_dir_tmp/data/ #请确保data目录为空 $ cd /mysql_path/data && rm -rf * # 应用全量备份 $ innobackupex --defaults-file=/etc/my.cnf --copy-back --rsync /recover_dir_tmp/data/
-
恢复选择
-
日志恢复
-
启动mysql服务
$ ./mysql.server start
-
恢复二进制日志
- 根据backup_datetime.log获取binlog position $ mysqlbinlog \ --no-defaults \ --skip-gtids \ [ --start-datetime=starttime ] \ [ --stop-datetime=stoptime ] \ [ --start-position=startpoint ] \ [ --stop-position=startpoint ] \ [ --database=dbname ] \ mysql-bin.000xxx | mysql -h server_ipaddr -u username -p${userpass} [ dbname ] #如有多个日志文件可执行多次,请注意起始位置。
-
-
重做主从
-
重置主从角色
mysql> reset slave; mysql> reset master;
-
指定Master
mysql> change master to master_host='${master_host}', \ master_port=${master_port},\ master_user='${master_user}',\ master_password='${master_password}',\ master_log_file='${master_log_file}',\ master_log_pos=${master_log_pos};
-
启动同步
mysql> start slave; mysql> show slave status\G;
-
-