不停止主数据库操作,只操作从数据库,实现快速恢复的方法和局限性

xiaoxiao2021-02-27  317

一般异常操作,可以如下恢复,只能在从机上做。 slave stop; set GLOBAL sql_slave_skip_counter=1; slave start; show slave status; 但是对于大型实时变换的数据库,该方法不行。 断电异常,可以在从机上如下恢复。 在主库服务器上,寻找通电前的最后一个bin-log日志,通过该日志进行恢复。 mysqlbinlog /var/lib/mysql/mysql-bin.000003 >  mysql-bin.000003.txt tail -n 100000 mysql-bin.000003.txt > tail_mysql-bin.000003.txt vi tail_mysql-bin.000003.txt 注意最后几行 #170504 10:39:10 server id 107  end_log_pos 2711        Query   thread_id=137   exec_time=0     error_code=0 SET TIMESTAMP=1493865550/*!*/; insert into `menber` (`name`, `id`) values('三清','23') /*!*/; DELIMITER ; # End of log file ROLLBACK /* added by mysqlbinlog */; /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/; 找到偏移量2711 回到从机操作 slave stop; change master to  master_host='172.27.206.6',master_user='repl',master_password='repl', master_log_file='mysql-bin.000003',master_log_pos=2711; slave start; show slave status; 从新进行主的插入操作,发现新增加数据可以同步过来。但是故障期间的数据无法同步过来。造成两边数据不一致。对于历史数据不敏感的同步数据库。可以采用此方法。本方法不需要停止主数据库。
转载请注明原文地址: https://www.6miu.com/read-2523.html

最新回复(0)