MYSQL主从复制GTID错误处理

复制出错 |  SQL类出错 



GTID的错误

1:SQL类错误(主键冲突、表存在等)


查看到出错的信息
mysql> show slave status\G;



				Last_SQL_Error: Error 'Can't drop database 'def'; database doesn't exist' on query. Default database: 'def'. Query: 'drop database  def'
				Replicate_Ignore_Server_Ids: 
				Master_Server_Id: 100
                                Master_UUID: 753cfe11-7cd2-11e8-935c-d05349b146f5
				Master_Info_File: /usr/local/mysql/data/master.info
                                SQL_Delay: 0
				SQL_Remaining_Delay: NULL
				Slave_SQL_Running_State: 
				Master_Retry_Count: 86400
                                Master_Bind: 
				Last_IO_Error_Timestamp: 
				Last_SQL_Error_Timestamp: 180704 16:12:27
				Master_SSL_Crl: 
				Master_SSL_Crlpath: 
				Retrieved_Gtid_Set: 753cfe11-7cd2-11e8-935c-d05349b146f5:1-16  #当前正在执行的
				Executed_Gtid_Set: 1da4862e-7ece-11e8-a4da-000c290de34b:1-5,   #已经执行过


mysql> show variables like '%gtid%';


mysql> stop slave;
mysql> set gtid_next='753cfe11-7cd2-11e8-935c-d05349b146f5:16';
mysql> begin;
mysql> commit;
mysql> set gtid_next='AUTOMATIC';
mysql> start slave;



GTID相关参数
gtid_executed				执行过的所有GTID
gtid_purged					丢弃掉的GTID
gtid_mode					gtid模式
gtid_next					session级别的变量,下一个gtid
gtid_owned					正在运行的gtid
enforce_gtid_consistency	保证GTID安全的参数



出现这个错误
Last_SQL_Error: Error 'Can't drop database 'def'; database doesn't exist' on query. Default database: 'def'. Query: 'drop database  def'
mysql> stop slave;
mysql> create database def;
mysql> start slave;






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从复制GTID(Global Transaction Identifier)是一种用于标识和跟踪事务的机制。GTID是一个全局唯一的标识符,用于确保主从复制中每个事务的唯一性和一致性。它在MySQL 5.6版本中引入,并在之后的版本中得到改进和增强。 使用GTID进行主从复制可以简化配置和管理,并提供更可靠的数据同步。下面是使用GTID进行主从复制的基本步骤: 1. 在主服务器上启用GTID功能: 在主服务器的配置文件(my.cnf)中添加以下参数: ``` [mysqld] server-id=1 log-bin enforce-gtid-consistency=true ``` 启用GTID功能并设置服务器ID和二进制日志。 2. 在从服务器上启用GTID功能: 在从服务器的配置文件中添加以下参数: ``` [mysqld] server-id=2 enforce-gtid-consistency=true ``` 设置服务器ID和启用GTID功能。 3. 配置主从关系: 在主服务器上创建一个用于复制的用户,并授予适当的权限。 4. 在从服务器上配置主服务器信息: 在从服务器上执行以下命令: ``` CHANGE MASTER TO MASTER_HOST='主服务器IP', MASTER_USER='复制用户', MASTER_PASSWORD='复制用户密码', MASTER_AUTO_POSITION=1; ``` 这将配置从服务器以使用GTID复制并将其连接到主服务器。 5. 启动主从复制: 在从服务器上执行以下命令开始复制: ``` START SLAVE; ``` 从服务器将开始从主服务器接收和应用事务。 通过以上步骤,你可以使用GTID实现MySQL主从复制。这种方式可以提供更高的数据一致性和可靠性,并简化了配置和管理过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值