前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL主从报错解决:Table ‘mysql.gtid_slave_pos’ doesn’t exist

MySQL主从报错解决:Table ‘mysql.gtid_slave_pos’ doesn’t exist

作者头像
张戈
发布于 2018-10-10 02:23:17
发布于 2018-10-10 02:23:17
4.4K00
代码可运行
举报
文章被收录于专栏:张戈的专栏张戈的专栏
运行总次数:0
代码可运行

给内部一个数据库做异地热备,热备部分采用了 MariaDB 的 galera 集群模式。然后挑选其中一台作为 Slave 和深圳主集群做主从同步。

主集群是老环境,用的版本还是是 MySQL 5.5.13。用常规办法创建主从同步

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MariaDB [(none)]>change master to master_host='192.168.1.100',master_user='rpl',master_password='rpl@201809',master_log_file='mysql-bin.001091',MASTER_LOG_POS=137962110,master_connect_retry=30;
MariaDB [(none)]>start slave;

结果有如下报错:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.100
                  Master_User: rpl
                  Master_Port: 3306
                Connect_Retry: 30
              Master_Log_File: mysql-bin.001093
          Read_Master_Log_Pos: 77139171
               Relay_Log_File: udb158-relay-bin.000002
                Relay_Log_Pos: 237764027
        Relay_Master_Log_File: mysql-bin.001091
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1146
                   Last_Error: Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 375725743
              Relay_Log_Space: 2086663884
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 105914
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 1146
               Last_SQL_Error: Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 15410
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
                   Using_Gtid: No
                  Gtid_IO_Pos: 
1 row in set (0.00 sec)

错误信息为:Last_SQL_Error: Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist

搜了下资料,大部分说是没有执行 mysql_upgrade 导致的,不过我们这边的 MariaDB 是 Docker 跑的,而且用了很长时间了,理论上应该是没问题的才对。

既然提示没有这个表:Table 'mysql.gtid_slave_pos' doesn't exist,那我就创建一个吧!

从网上找到这个建表语句:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `gtid_slave_pos` (
       `domain_id` int(10) unsigned NOT NULL,
       `sub_id` bigint(20) unsigned NOT NULL,
       `server_id` int(10) unsigned NOT NULL,
       `seq_no` bigint(20) unsigned NOT NULL,
       PRIMARY KEY (`domain_id`,`sub_id`)
     ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Replication slave GTID state';

在作为 Slave 的 MariaDB 上执行,然后重启 slave 后问题解决,过程如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MariaDB [(none)]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.100
                  Master_User: rpl
                  Master_Port: 3306
                Connect_Retry: 30
              Master_Log_File: mysql-bin.001093
          Read_Master_Log_Pos: 77139171
               Relay_Log_File: udb158-relay-bin.000002
                Relay_Log_Pos: 237764027
        Relay_Master_Log_File: mysql-bin.001091
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 1146
                   Last_Error: Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 375725743
              Relay_Log_Space: 2086663884
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 105914
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 1146
               Last_SQL_Error: Unable to load replication GTID slave state from mysql.gtid_slave_pos: Table 'mysql.gtid_slave_pos' doesn't exist
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 15410
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
                   Using_Gtid: No
                  Gtid_IO_Pos: 
1 row in set (0.00 sec)
 
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
 
Database changed
MariaDB [mysql]> CREATE TABLE `gtid_slave_pos` (
    ->        `domain_id` int(10) unsigned NOT NULL,
    ->        `sub_id` bigint(20) unsigned NOT NULL,
    ->        `server_id` int(10) unsigned NOT NULL,
    ->        `seq_no` bigint(20) unsigned NOT NULL,
    ->        PRIMARY KEY (`domain_id`,`sub_id`)
    ->      ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Replication slave GTID state';
Query OK, 0 rows affected (0.01 sec)
 
MariaDB [mysql]> stop slave;
Query OK, 0 rows affected (0.04 sec)
 
MariaDB [mysql]> start slave;
Query OK, 0 rows affected (0.00 sec)
 
MariaDB [mysql]> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Queueing master event to the relay log
                  Master_Host: 192.168.1.100
                  Master_User: rpl
                  Master_Port: 3306
                Connect_Retry: 30
              Master_Log_File: mysql-bin.001093
          Read_Master_Log_Pos: 1059879280
               Relay_Log_File: udb158-relay-bin.000002
                Relay_Log_Pos: 390833600
        Relay_Master_Log_File: mysql-bin.001091
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 528795316
              Relay_Log_Space: 3069404437
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 101616
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 15410
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
                   Using_Gtid: No
                  Gtid_IO_Pos: 
1 row in set (0.00 sec)
 
MariaDB [mysql]>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年09月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mysql5.7主从复制配置全过程
mysql主从复制是最常见的高可用方式,通过主-从的方式,实现系统的高可用。在生产环境种,通常采用一主多从的方式,通过主库写数据,从库读数据,来提升系统的性能。 现在就演示一下,mysql5.7之下,如何配置主从复制。
冬天里的懒猫
2021/09/26
4.2K0
使用replicate-rewrite-db 实现复制映射 + Replicate_Wild_Do_Table实现复制过滤
业务方有个需求,需要将node1上的employees库的departments 、dept_manager 这2张表同步到 node2 的 hellodb 库下面。
保持热爱奔赴山海
2019/09/18
2K0
Mysql主从同步报错解决:Fatal error: The slave I/O thread stops because ..
在搭建Mysql主从架构过程中,由于从服务器是克隆的主服务器系统,导致主从Mysql uuid相同, Slave_IO无法启动,报错如下: Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
非著名运维
2022/06/22
2.6K0
Mysql主从同步报错解决:Fatal error: The slave I/O thread stops because ..
【MySQL】主从GTID复制修复
作者 董红禹 沃趣科技数据库工程师 导 读 ---- GTID是5.6新增特性,减少DBA运维的工作。在以前一主两从架构下当主库M1发生故障我们需要选择一个从库S1作为新的主库,但是S2要重新change master 到新主库上 这时master_log_file和master_log_pos我们怎么获取到呢?在没有GTID时 MHA架构帮我们解决了这个问题,在有了GTID情况下,我们只需要在S2上面重新change master下设置MASTER_AUTO_POSITION = 1即可。 本文介绍下在
沃趣科技
2018/03/26
2K0
3分钟解决MySQL 1062 主从错误
1062错误----主键冲突,出现这种情况就是从库出现插入操作,主库又重新来了一遍,iothread没问题,sqlthread出错
py3study
2020/01/08
3.9K0
show slave status 详解 【MySQL5.7】
其值是通过将服务器当前的时间戳与二进制日志中的事件的时间戳相对比得到的【MySQL手册上说的是从库SQL线程与IO线程所处理的最近的日志事件的时间戳差】。
保持热爱奔赴山海
2019/09/17
1.8K0
使用Innobackupex快速搭建(修复)MySQL主从架构
    MySQL的主从搭建大家有很多种方式,传统的mysqldump方式是很多人的选择之一。但对于较大的数据库则该方式并非理想的选择。使用Xtrabackup可以快速轻松的构建或修复mysql主从架构。本文描述了使用innobackupex快速来搭建或修复主从架构。供大家参考。
Leshami
2018/08/13
6160
mysql 迁移11
启动mysql并且开启同步 [root@slave02 mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.27-75.0-log Percona Server (GPL), Release 75.0, Revision 8bb53b6 Copyright (
franket
2022/03/22
9800
MySQL基于GTID主从复制的杂谈
先来回顾一下MySQL的二进制知识点。基于Row格式的日志可以避免MySQL主从复制中出现的主从不一致问题。在一个sql语句修改了1000条数据的情况下,基于段的日志格式只会记录这个sql语句。而基于row的日志格式会有1000条记录来记录每一行的数据修改。
用户2032165
2018/12/10
1.6K0
MySQL基于GTID主从复制的杂谈
【MySQL】Mysql5.6基于gtid的主从复制搭建+1062问题处理
说明: 环境 mysql-master:172.16.200.43 mysql-slave:172.16.200.44 系统:centos7 版本:MySQL5.6.35
用户5522200
2019/06/02
5370
mysql主从误重复创建用户报错1396处理[通俗易懂]
问题: 在mysql主从或者mysql分布式架构某些时候主从中断,经分析发现重复创建用户导致。
全栈程序员站长
2022/09/22
1.5K0
基于 Gtid 的 MySQL 主从同步实践
前几天,有读者在后台留言问我可有基于Gtid的Mysql主从同步的文章,我记得历史文章应该有提及过,也有可能是只是提及,可能没有详细的过程介绍,所以,今天,民工哥就给大家安排一波。
民工哥
2021/04/23
2.5K0
Mysql主从同步报错解决:Error executing row event: Table zabbix.history-..
 因为之前在主数据库服务器上搭建了Zabbix,所以在配置主从时报错。 Error executing row event: 'Table 'zabbix.history_uint' doesn't exist'
非著名运维
2022/06/22
1K0
Mysql主从同步报错解决:Error executing row event: Table zabbix.history-..
Mysql主从复制报错处理 Last_Errno: 1008
前几天,手动搭建一个mysql主从复制集群,今天在执行过程中,出现如下错误:Error 'Can't drop database 'test'; database doesn't exist' on query. Default database: 'test'. Query: 'drop database test'。
Linux运维技术之路
2022/06/07
7240
Mysql主从复制报错处理 Last_Errno: 1008
将 MariaDB 基于位置的复制转换为 GTID 复制
在我们的例子中,Relay_Master_Log_File 的值为 bin_log.000002,Exec_Master_Log_Pos 为 1206
贺春旸的技术博客
2025/03/12
1210
3分钟解决MySQL 1032 主从错误
1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错
py3study
2020/01/03
3.2K0
Mysql/Mairadb主从复制
4、修改配置文件 编辑配置文件 /etc/my.cnf,添加内容 vi /etc/my.cnf
指剑
2022/07/15
2340
Mysql/Mairadb主从复制
学习笔记0601----mysql主从
Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instance(我们称之 Slave)。在 Master 与 Slave 之间的实现整个复制过程主要由三个线程来完成,其中两个线程(Sql线程和IO线程)在 Slave 端,另外一个线程(IO线程)在 Master 端。   要实现 MySQL 的 Replication ,首先必须打开 Master 端的Binary Log(mysql-bin.xxxxxx)功能,否则无法实现。因为整个复制过程实际上就是Slave从Master端获取该日志然后再在自己身上完全 顺序的执行日志中所记录的各种操作。打开 MySQL 的 Binary Log 可以通过在启动 MySQL Server 的过程中使用 “—log-bin” 参数选项,或者在 my.cnf 配置文件中的 mysqld 参数组([mysqld]标识后的参数部分)增加 “log-bin” 参数项。
嘻哈记
2020/11/24
4520
使用XtraBackup创建mysql slave14
执行同步 [root@slave-test mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.26-74.0-log Percona Server (GPL), Release 74.0, Revision 32f8dfd Copyright (c) 200
franket
2022/05/12
4940
1分钟快速搭建wwwhj8828com18088049999MySQL主从数据库
mysql-utilities工具集是一个集中了多种工具的合集,可以理解为是DBA的工具箱,本文介绍利用其中的mysqlreplicate工具来快速搭建MySQL主从环境。
用户3558559
2018/10/10
9270
相关推荐
Mysql5.7主从复制配置全过程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验