mysql 基于GTID的主从复制

一.mysql 基于GTID的主从复制

mysql数据库从5.6.5开始新增一种基于GDIT的复制方式。
通过GDIT保证每个主库上提交的事务在集群中有一个唯一的ID.
这种方式强化了数据库的主备一致性,故障恢复以及容错能力。 
GTID (Global Transaction ID) 是对于一个已提交事务的编号,
并且是一个全局唯一的编号。 GTID 实际上 是由 UUID+TID 组成的。
其中 UUID 是一个 MySQL 实例的唯一标识。
 TID 代表了该实例上已经提交的事务数量,并且随着事务提交单调递增。

​

注:此实验基于mysql主从复制的基础,关于mysql的下载配置等不再赘述,

实验:

主:server4
从:server2

主库;

1.编辑配置文件:

vim /etc/my.cn


文章末尾编辑(不改变主从复制时添加的语句):
gtid-mode=on
enforce-gtid-consistency=1

2.开启mysql服务:

systemctl start mysqld

3.进库:

mysql -p  #进入数据库

添加多个value
mysql> use westos;
mysql> show tables;
mysql> insert into usertb values('user3','123');
Query OK, 1 row affected (0.08 sec)

mysql> insert into usertb values('user4','123');
Query OK, 1 row affected (0.28 sec)

mysql> insert into usertb values('user5','123');
Query OK, 1 row affected (0.08 sec)

从库:server2;

1.编辑配置文件:

vim /etc/my.cnf


文章末尾编辑(不改变主从复制时添加的语句):
gtid-mode=on
enforce-gtid-consistency=1

 

2.开启服务:

systemctl restart mysqld

3.进入数据库:

mysql -p

stop slave;
CHANGE_MASTER TO MASTER_HOST='172.25.17.4', master='repl', master_pawwword='Westos-6', MASTWR_AUTO_POSITION=1; 
start slave;

show slave status\G
select * from gtid_executed;

测试;

在server4中:
 mysql> show databases;
+--------------------+ 
| Database           |
+--------------------+
 | information_schema |
| mysql              |
| performance_schema | 
| sys | 
| test               |
+--------------------+ 
5 rows in set (0.00 sec)
 mysql> use test; 
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 
mysql> select * from  userlist;
+----------+----------+ 
| username | password |
+----------+----------+ 
| user1 | 111 | 
| user2    | 222      |
+----------+----------+ 
2 rows in set (0.00 sec) 

##删除用户
 mysql> delete from userlist where username='user1';
 Query OK, 
1 row affected (0.07 sec) 


server2中: 
mysql> show databases;
+--------------------+ 
| Database           |
+--------------------+ 
| information_schema |
| mysql              |
| performance_schema | 
| sys | 
| test               |
+--------------------+ 
5 rows in set (0.00 sec) 
mysql> use test; 
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
 mysql> select * from userlist;
+----------+----------+ | 
username | password |
+----------+----------+ 
| user2    | 222      |
+----------+----------+
--------------------- 

猜你喜欢

转载自blog.csdn.net/xys2333/article/details/87911241