数据库开启gtid时,需要注意的问题

1、slave不能执行任何sql,包括超级用户
2、read_only=on,这个必须要开启,避免业务执行sql
3、保证当前slave的事务id为1

当slave同步出现问题时,手动跳过,需要考虑的问题
执行的sql,不能记录事务id,否则slave切换为master时,会导致从同步失败,因为binglog早已删除。
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
此步执行具体的SQL
dml\ddl
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;

查看当前数据的uuid
show GLOBAL VARIABLES like ‘server_uuid‘;

查看当前数据库的已执行过的事务
show master status;

手动设置事务id

SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED=‘132028ab-abc5-11e6-b2f0-000c29a60c3d:1-45679‘;
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;

时间: 2024-11-10 01:10:44

数据库开启gtid时,需要注意的问题的相关文章

解决mysql开启GTID主从同步出现1236错误问题

最近遇到mysql开启gtid做复制时,从库出现1236错误,导致同步无法进行,本文就这问题记录下处理步骤,有关gtid知识在这里不做介绍,mysql版本为5.7.16. 一.错误原因分析 错误信息如下: Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER

使用“忽略授权表”参数登录多实例数据库——用于多实例数据库忘记密码时登录

昨天上午,在视频"L10-008-lamp环境之MySQL多实例安装配置指南"马上就要结束的时候,再次遇到问题. 前天晚上,根据视频讲解在清理多余MySQL数据库账号后,就直接退出数据库并关机了(没有在清理账号后,退出数据库并重新登录数据库--其实,也没有必要做这样的测试).昨天早上打开虚拟机,想着完成视频的最后一小部分.没想到,在使用密码登录3306实例的时候,无论如何也登录不进去了. [[email protected] 3306]# mysql -uroot -p -S /dat

mysql数据库delete数据时不支持表别名

今天在帮同事查看一条删除的SQL语句执行出错的问题 SQL语句如下: 1 DELETE FROM LEAD_SYSTEM_MENU_ORG_REF as t WHERE t.resourceid='4028812348f28b890148f29253a80000' 这条SQL语句放到Oracle数据库中去执行是可以正常执行的,但是放到MySQL数据库中执行时就出现了如下的错误: 1 [Err] 1064 - You have an error in your SQL syntax; check

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT) ORA-00922: missing or invalid option

在Oracle 11.2的数据库中建表时遇到 RESULT_CACHE (MODE DEFAULT)  ORA-00922: missing or invalid option hostdr:[/home/oracle]$sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 9 12:52:11 2015 Copyright (c) 1982, 2011, Oracle. All rights reserve

尝试从数据库进行更新时,遇到..

尝试从数据库进行更新时,遇到类型为“Microsoft.VSDesigner.Data.Local.ConnectionStringConverterServiceException”的异常.异常消息为:“”; 这个问题一般都是进行Edmx 从数据库中更新到模型报的错. 解决办法一:找到你的Entities.edmx文件,检查ConnectionString是否正确.再确认你项目里的WEB.CONFIG和APP.CONFIG的连接字符串是否正确 解决办法二:如果方法一的配置都确定配置正确了,但依

MySQLs数据库建外键时自动跑到缩影处,真奇怪

MySQLs数据库建外键时自动跑到缩影处,真奇怪MyISAM引擎不支持外键:InnoDB存储引擎支持外键.如何解决的,把表修改成innodb类型吧用的工具是SQLyog Ultimate如图所示:

VS 尝试从数据库进行更新时,遇到类型为“Microsoft.VSDesigner.Data.Local.ConnectionStringConverterServiceException”的异常。异常消息为:“”;

最近,由于更换机器,在新机器上运行更新数据库模型,报错: 尝试从数据库进行更新时,遇到类型为"Microsoft.VSDesigner.Data.Local.ConnectionStringConverterServiceException"的异常.异常消息为:""; 这样的错误一般都是进行Edmx 从数据库中更新到模型产生的,错误截图如图: 我用的是VS2012,数据库为MySQL 解决方案一: 找到自己的Entities.edmx文件,检查ConnectionS

MySQL数据库插入中文时出现Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1

今天在开发时候出现了这个问题 Incorrect string value: '\xE6\x97\xB7\xE5\x85\xA8' for column 'sz_name' at row 1 场景,往MySQL数据库的表中插入中文参数,抛出了这个异常 我用sqlyog执行该段代码时候发现只是出现警告,并没有出现error,但是在代码里面执行抛出了异常,说明管理工具sqlyog对有些约定不是那么严格,而代码中就会报错.提醒自己,以后写sql时候不能忽略管理工具中出现的警告. 解决方案: 在用sql

安装mysql 开启服务时出错/etc/init.d/mysqld: line 264: 的解决办法

安装mysql 开启服务时,出错/etc/init.d/mysqld: line 264: cd: mysql-5.5.60: No such file or directory解决办法https://blog.51cto.com/genxin/1783419 basedir 设置正确后,又出现,错误[[email protected] ~]# service mysqld startStarting MySQL.Logging to '/usr/local/mysql-5.5.60/local