mysql gtid复制

gtid主主

====================配置如下====================
[client]
port = 3306
socket=/tmp/my3306.sock

[mysql]
no-auto-rehash

[mysqld]
user = mysql
port = 3306
bind_address = *
socket=/tmp/my3306.sock
character_set_server = utf8
log-error = /home/mysql/3306/logs/my3306_error.log
pid-file=/home/mysql/3306/logs/my3306.pid
homedir=/home/mysql/3306/data
basedir=/opt/mysql
default-storage-engine=InnoDB #MyISAM
open_files_limit = 10240
autocommit = 1
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
secure_file_priv=‘‘
lower_case_table_names=1
skip-grant
skip-name-resolve =on

#说明:主库必须配置的参数
#server-id (主从的server-id必须不同)、log_bin、log-slave-updates、gtid_mode、enforce_gtid_consistency
server-id=1921685533
gtid_mode=on                          #开启gtid模式
enforce_gtid_consistency=on           #强制gtid一致性,开启后对于特定create table不被支持
log-slave-updates=1                   #slave 更新是否记入日志
skip_slave_start=1                    #复制进程就不会随着数据库的启动而启动(想要随数据库启动而启动 注释掉)
relay-log = /home/mysql/3306/binlog/relay
relay_log_purge = on
log-bin = /home/mysql/3306/binlog/binlog

binlog_cache_size = 32M
binlog_format = ROW #MIXED

binlog_row_image = FULL

max_binlog_cache_size = 2048M
max_binlog_size = 512M
expire_logs_days = 90

key_buffer_size = 1024M
max_allowed_packet = 1024M
table_open_cache = 1024
sort_buffer_size = 8M
read_buffer_size = 8M
read_rnd_buffer_size = 8M
join_buffer_size = 8M
myisam_sort_buffer_size = 128M
thread_cache_size = 128
query_cache_size= 128M
thread_concurrency = 8
interactive_timeout = 1800
wait_timeout = 1800

max_connections = 1000
max_user_connections = 1000
max_connect_errors = 6000
back_log = 600

long_query_time=3
slow_query_log=1
slow_query_log_file=/home/mysql/3306/logs/my3306-slow-query.log

skip_external_locking=1

innodb_file_per_table = on
innodb_buffer_pool_size = 2048M
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 1

注意:
除了 server_id不一样外   其它的都一样。
主库必须配置的参数:
server-id (主从的server-id必须不同)、log_bin、log-slave-updates、gtid_mode、enforce_gtid_consistency
从库必须配置的参数:双主read-only 是不需要配置的
server-id、log_bin、relay-log、read-only、log-slave-updates
===============================================

1.启动数据库
2.创建同步账号
grant replication slave on *.* to ‘slave‘@‘%‘ identified by ‘123123‘;
3.备份数据库(-A 备份所有库,该备份文件会包含一条语句需要注意set @@global.gtid_purged="a57a3eb0-5d40-11e6-9609-080027f7e774:1-3")
mysqldump -uroot --default-character-set=utf8 -p -R --opt --triggers --hex-blob --single-transaction -A -S /tmp/my31306.sock > /tmp/back.sql

4.另外一台恢复数据库
mysql -uroot --default-character-set=utf8 -p  < /data/tmp.sql(指定字符集恢复)

以下操作两台都需要操作。
5. 停止slave
stop slave;

6.进行同步 CHANGE TO 操作()
change master to master_host="192.168.1.100",master_port=3306,master_user=‘repl‘,
master_password=‘repl4slave‘,master_auto_position=1;

#参数解释:
MASTER_HOST : 设置要连接的主服务器的ip地址
MASTER_USER : 设置要连接的主服务器的用户名
master_port:设置要连接的主服务器的端口
MASTER_PASSWORD : 设置要连接的主服务器的密码
MASTER_AUTO_POSITION : GTID模式,基于事务ID复制

7. 启动slave
start slave

8.查看slave状态 (Slave_IO_Running:YES 并且Slave_SQL_Running: Yes )
show slave status\G;

slave常用命令

show master status;

show slave status\G;

stop slave;

start slave;

原文地址:https://www.cnblogs.com/hanxiaohui/p/9130078.html

时间: 2024-07-31 23:49:35

mysql gtid复制的相关文章

(5.8)mysql高可用系列——MySQL中的GTID复制(实践篇)

目录: [0]概念 一.基于GTID的异步复制(一主一从)无数据/少数据搭建 [1]环境 [2]安装 mysql utilities(本文借助该工具进行安装) [3]开始配置 #[3.1]在主库上 准备复制账户 #[3.2]参数配置(主从都配)#[3.3]重启两台mysql#[3.4]主库上查看binlog#[3.5.1]使用mysqlreplicate(mysql utilities工具)命令配置#[3.5.2]使用传统方式配置#[3.6]主从数据测试(在主库上跑) [4]我的其他文章 [4.

mariadb10.x启用gtid复制时提示mysql.gtid_slave_pos找不到的解决方案

mariadb10.x安装方式为yum时,当启用gtid复制方式后,一直提示mysql.gtid_slave_pos找不到的解决方案 造成的原因不详 解决方案:/usr/share/mysql/mysql_system_tables.sql是创建系统表的脚本 找到innodb_table_stats,innodb_index_stats,gtid_slave_pos表的创建方式 innodb_table_stats表的创建语句: SET FOREIGN_KEY_CHECKS=0; DROP TA

mysql 5.6 的新特性:GTID 复制

mysql 5.6 的新特性: MySQL 5.6 包含了一个复制的新功能,enabling DevOps teams to reliably scale-out their MySQL infrastructure across commodity hardware, rel="nofollow">Global Transaction Identifiers (GTIDs)功能, 为了解决以下问题: -能够无缝的故障恢复和master与slave的切换 -能把slave指向新的

MySQL 5.6.10 跨平台GTID复制实践

根据业务需要,建立MySQL复制来实现数据冗余. MySQL 5.6.10版本提供了更方便的基于GTID的复制功能,MySQL可以通过GTID自动识别上次同步的点,极大地方便了运维人员,减少出错的几率. 在官方文档中提到,最保险可靠的复制方式,是基于row的复制,所以宁可牺牲一些性能也要保证数据的安全. 现实环境中,master主数据库MySQL 5.6.10(msi安装方式)安装在Windows 2008 Server x64上,slave从服务器是一台老旧的DELL服务器,运行CentOS

与MySQL传统复制相比,GTID有哪些独特的复制姿势

前言 GTID(Global Transaction ID)是MySQL5.6引入的功能,可以在集群全局范围标识事务,用于取代过去通过binlog文件偏移量定位复制位置的传统方式.借助GTID,在发生主备切换的情况下,MySQL的其它Slave可以自动在新主上找到正确的复制位置,这大大简化了复杂复制拓扑下集群的维护,也减少了人为设置复制位置发生误操作的风险.另外,基于GTID的复制可以忽略已经执行过的事务,减少了数据发生不一致的风险. GTID虽好,要想运用自如还需充分了解其原理与特性,特别要注

mysql之 mysql 5.6不停机主从搭建(一主一从基于GTID复制)

环境说明:版本 version 5.6.25-log 主库ip: 10.219.24.25从库ip:10.219.24.22os 版本: centos 6.7已安装热备软件:xtrabackup 防火墙已关 补充: 主从复制原理: http://blog.csdn.net/zhang123456456/article/details/72972701GTID 复制原理: http://blog.csdn.net/zhang123456456/article/details/73002216mys

mysql之 MySQL 主从基于 GTID 复制原理概述

一. 什么是GTID ( Global transaction identifiers ):MySQL-5.6.2开始支持,MySQL-5.6.10后完善,GTID 分成两部分,一部分是服务的UUid,UUID保存在mysql数据目录的auto.cnf文件中,这是一个非常重要的文件,不能删除,这一部分是不会变的.另外一部分就是事务ID了,随着事务的增加,值一次递增,如下图+---------------+----------+--------------+------------------+-

深入MySQL复制(二):基于GTID复制

相比传统的MySQL复制,gtid复制无论是配置还是维护都要轻松的多.本文对gtid复制稍作介绍. MySQL基于GTID复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html 1.gtid基本概念 传统的基于binlog position复制的方式有个严重的缺点:如果slave连接master时指定的binlog文件错误或者position错误,会造成遗漏或者重复,很多时候前后数据是有依赖性的,这样就会出错而导

MySQL 5.7基于GTID复制的常见问题和修复步骤(二)

[问题二] 有一个集群(MySQL5.7.23)切换后复制slave报1236,其实是不小心在slave上执行了事务导致 Got fatal error 1236 from master when reading data from binary log: 'The slave is connecting using CHANGE MASTER TO MASTER_AUTO_POSITION = 1, but the master has purged binary logs containin