MySQL主从,主库重启从库不同步?-灵析社区

型男不是我还是谁

mysql重启完服务,会重新生成mysql-bin日志文件,这会导致从服务节点同步失败,必须手动重新指定File和Position,才能使从库正常运行。当然我想到的办法是写一个py脚本定时去做比较代替人工,如果mysql有相关的设置是最好的

阅读量:399

点赞量:11

问AI
主库重启之前: SHOW MASTER STATUS; 主库重启之后: STOP SLAVE; 然后用之前获取的File和Position信息设置从库的主库: CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=12345; 最后重新启动从库复制: START SLAVE; Python脚本: import mysql.connector def check_master_status(): master_conn = mysql.connector.connect(user='masteruser', password='masterpass', host='masterhost') cursor = master_conn.cursor() cursor.execute("SHOW MASTER STATUS") master_status = cursor.fetchone() master_conn.close() return master_status def set_slave_master(log_file, log_pos): slave_conn = mysql.connector.connect(user='slaveuser', password='slavepass', host='slavehost') cursor = slave_conn.cursor() cursor.execute(f"STOP SLAVE") cursor.execute(f"CHANGE MASTER TO MASTER_LOG_FILE='{log_file}', MASTER_LOG_POS={log_pos}") cursor.execute(f"START SLAVE") slave_conn.close() if __name__ == "__main__": master_status = check_master_status() if master_status: set_slave_master(master_status[0], master_status[1])