ser, password, port) print(restore_commond) binlog_file_count = binlog_file_count + 1 else: # 找到差异备份之后的第一个binlog,需要根据差异备份的position,来过来第一个binlog文件 restore_commond = '''mysqlbinlog {0} --skip-gtids=true --start-position={1} | mysql mysql -h{2} -u{3} -p{4} -P{5}''' \ .format(binlog, backup_position, host, user, password, port) print(restore_commond) binlog_file_count = binlog_file_count + 1 else: # 从第二个文件开始,binlog需要全部还原 restore_commond = '''mysqlbinlog {0} --skip-gtids=true | mysql mysql -h{1} -u{2} -p{3} -P{4}''' \ .format(binlog, host, user, password, port) print(restore_commond) binlog_file_count = binlog_file_count + 1 else: if (binlog_file_count < 1): restore_commond = '''mysqlbinlog {0} --skip-gtids=true --start-position={1} --stop-datetime={2} | mysql -h{3} -u{4} -p{5} -P{6}'''.format(binlog, backup_position,stop_at,host,user,password,port) print(restore_commond) binlog_file_count = binlog_file_count + 1 else: if (binlog_file_count >= 1): restore_commond = '''mysqlbinlog {0} --skip-gtids=true --stop-datetime="{1}" | mysql -h{2} -u{3} -p{4} -P{5}'''.format(binlog, stop_at,host,user,password,port) print(restore_commond) binlog_file_count = binlog_file_count + 1 &n |