Mysql的gtid主从复制的配置详情

Mysql的gtid主从复制的配置详情
基于事务的Replication,就是利用GTID来实现的复制

GTID(全局事务标示符)最初由google实现,在MySQL 5.6中引入.GTID在事务提交时生成,由UUID和事务ID组成,uuid会在第一次启动MySQL时生成,保存在数据目录下的auto .cnf文件里,事务ID则从1开始自增,使用GTID的好处主要有两点:

  1. 不再需要指定传统复制中的master_log_files和master_log_pos,使主从复制更简单可靠
  2. 可以实现基于库的多线程复制,减小主从复制的延迟
#环境清理
主从均清除实验的环境
[root@mysql-master ~]# systemctl stop mysqld
[root@mysql-slave ~]# systemctl stop mysqld
注意:以下两步均危险操作,在以后工作环境中,绝对不能删除数据库。可以先mysqldump导出一份备份文件,在执行此操作
[root@mysql-master ~]# rm -rf /var/lib/mysql/*
[root@mysql-master ~]# rm -rf /var/log/mysql/*
[root@mysql-slave ~]# rm -rf /var/lib/mysql/*

主库配置
vim /etc/my.cnf

[mysqld]
log-bin=/var/log/mysql/mysql-bin
server-id=1
#打开gtid模式
gtid_mode=ON
enforce_gtid_consistency=1  

从库配置

# vim /etc/my.cnf  #在配置文件中添加配置     
[mysqld]
server-id=2
#打开gtid模式
gtid_mode=ON
enforce_gtid_consistency=1 
创建日志目录
mkdir /var/log/mysql
授权
chown mysql.mysql /var/log/mysql
重启服务
systemctl restart mysqld

`注:`**找出主服务器root用户的初始密码**
[root@mysql-master ~]# grep password /var/log/mysqld.log
**       **主(从)服务器修改数据库root用户密码****
[root@mysql-master ~]# mysqladmin -uroot -p'初始密码' password '新密码'

从库测试用户有效性

mysql -urepl -p'密码' -hmysql-master
连接成功,退出

Mysql 从服务器终端执行连接信息

mysql> CHANGE MASTER TO
MASTER_HOST='mysql-master',
MASTER_USER='repl',
MASTER_PASSWORD='QianFeng@1234',
MASTER_AUTO_POSITION=1;
#MASTER_AUTO_POSITION 1 为自动识别位置点 0 可以手动指定

mysql> start slave;

查看是否同步成功

mysql> show slave status\G

Mysql的gtid主从复制的配置详情_第1张图片
Replication故障排除:https://blog.csdn.net/NewRain_wang/article/details/104790631

http://adrai.github.io/flowchart.js/

你可能感兴趣的:(Mysql的gtid主从复制的配置详情)