测试环境下得数据库主从掉了,且由于设置只保存了最近两次得binlog日志,无法通过mysqlbinlog+gtid恢复
修复mysql主从(一主一从)
采用简单但是有效得备份恢复策略
注:注意服务器使用,提前协商好恢复时间,避免造成不必要得麻烦
msql中
flush tables with read lock;
整一个创建数据库d额语句
mysql中
show master status;
将查询出得结果保存
+------------+-----------+--------------+------------------+------------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------+-----------+--------------+------------------+------------------------------------------------+
| bin.00001 | 31327 | | | 99999999999999999999999 |
+------------+-----------+--------------+------------------+------------------------------------------------+
mysqldump -uappuser -p -A -B |gzip > /server/backup/mysql_bak.$(date +%F).sql.gz
# -A -all
# -B 包含create database 语句
mysql中
unlock tables;
可以使用scp 进行发送
mysqldump -uappuser -p -A -B |gzip > /server/backup/mysql_bak.$(date +%F).sql.gz
# 清除旧的得guid
mysql -uroot -p -e 'reset master';
# 解压主机备份并发送到从库得备份文件
gzip -d /server/backup/mysql_bak.$(date +%F).sql.gz
# 对数据进行恢复(恢复时间根据服务器配置和数据量决定)
mysql -uappuser -p < mysql_bak.$(date +%F).sql
# 清除旧的从库设置
RESET SLAVE;
change master to
MASTER_HOST=‘主库id’,
MASTER_PORT=主库mysql得端口,
MASTER_USER=‘用于主从得账号’,
MASTER_PASSWORD=‘用于主从得密码’,
MASTER_LOG_FILE=‘在’show master status;‘ 查看到得file名字’,
MASTER_LOG_POS=在’show master status;‘ 查看到得Position得值;
下面是一个参考
change master to
MASTER_HOST='192.168.128.111',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='repl_123',
MASTER_LOG_FILE='bin.00001',
MASTER_LOG_POS=31327;
成功