很少,但间歇性地,MariaDB 5.5无法将时区表复制到一个全新的副本上(实例创建都是自动化的,因此没有遗漏/更改步骤的空间)。我们从不更改这些内部表,那么这怎么可能发生呢?
示例结果(为可读性格式化):
$ mysql -e 'SHOW SLAVE STATUS\G'
[…]
Master_Log_File: bin-log.000011
Read_Master_Log_Pos: 5124
Relay_Log_File: relay-log.000002
Relay_Log_Pos: 527
Relay_Master_Log_File: bin-log.000010
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1062
Last_Error: Error 'Duplicate entry '339--1956609120' for key
'PRIMARY'' on query. Default database: 'mysql'. Query: 'INSERT INTO
time_zone_transition (Time_zone_id, Transition_time, Transition_type_id) […]发布于 2017-03-14 18:13:31
我不知道有什么自动方法将数据插入到这些表中?也许您正在尝试将数据加载到已经包含数据的表中?你是哪个操作系统?也许操作系统没告诉你就这么做了。也许有人在主程序上设置了一个cron:
shell>mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysqlhttps://mariadb.com/kb/en/mariadb/mysql_tzinfo_至_sql/
您现在可以放置一个复制过滤器,以避免出现这些问题,但是可以研究主程序的二进制日志,以了解插入的对象和位置,以及插入的原因。如果这些文件是合法的,或者是自动化的,请确保在不写入二进制日志(SET SESSION sql_Log_bin=0)的情况下执行。
https://dba.stackexchange.com/questions/167166
复制相似问题