首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在复制mysql.time_zone_transition时,如何避免从站上间歇性的“重复输入”错误?

问在复制mysql.time_zone_transition时,如何避免从站上间歇性的“重复输入”错误?
EN

Database Administration用户
提问于 2017-03-14 17:18:52
回答 1查看 451关注 0票数 1

很少,但间歇性地,MariaDB 5.5无法将时区表复制到一个全新的副本上(实例创建都是自动化的,因此没有遗漏/更改步骤的空间)。我们从不更改这些内部表,那么这怎么可能发生呢?

示例结果(为可读性格式化):

代码语言:javascript
复制
$ 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) […]
EN

回答 1

Database Administration用户

发布于 2017-03-14 18:13:31

我不知道有什么自动方法将数据插入到这些表中?也许您正在尝试将数据加载到已经包含数据的表中?你是哪个操作系统?也许操作系统没告诉你就这么做了。也许有人在主程序上设置了一个cron:

代码语言:javascript
复制
shell>mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

https://mariadb.com/kb/en/mariadb/mysql_tzinfo_至_sql/

您现在可以放置一个复制过滤器,以避免出现这些问题,但是可以研究主程序的二进制日志,以了解插入的对象和位置,以及插入的原因。如果这些文件是合法的,或者是自动化的,请确保在不写入二进制日志(SET SESSION sql_Log_bin=0)的情况下执行。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/167166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档