当前位置:   article > 正文

mysql 主从复制 gtid_MySQL基于GTID的主从复制数据库

mysql gtid 主从复制

基于GTID的主从复制数据库

全局身份识别 GTID(global transaction identifier)

为了实现主备数据库的强一致性

GTID = source_id:transaction_id

source_id 表示执行事务的主库

transaction_id 是一个序列号,表示这个主库上执行的第 n 个事务。

server_uuid是系统自动生成的,用来的替代server_id,因为source_id是手工设置的,可能会有冲突

e6b6041d102325b4e5f893915a9c4a5c.png

数据库的安装和初始化

server33,44:

MySQL-community-client-5.7.17-1.el6.x86_64.rpm

mysql-community-common-5.7.17-1.el6.x86_64.rpm

mysql-community-libs-5.7.17-1.el6.x86_64.rpm

mysql-community-libs-compat-5.7.17-1.el6.x86_64.rpm

mysql-community-server-5.7.17-1.el6.x86_64.rpmyum install * -y

/etc/init.d/mysqld start

启动会自动初始化密码,如果没有显示,可以去日志中看

tail -n 3 /var/log/mysqld.log

89c17da56894221ca4c59baaab440407.png

创建root用户

mysql> alter user root@localhost identified by 'Westos+007';

gtid主从数据库的配置

server33:

vim /etc/my.cnf

23 server-id=3

24 gtid-mode=ON

25 enforce-gtid-consistency

26

27 log-bin=mysql-bin

28 binlog-do-db=test

29

30 log-slave-updates授权复制用户在172.25.88.0网段

mysql> grant replication slave on *.* to  miao@'172.25.88.%' identified by 'Westos+007';

server44:

vim /etc/my.cnf

23 server-id=4

24 read-only

25

26 gtid-mode=ON

27 enforce-gtid-consistency

28

29 log-slave-updates  #开启从库改变记录在log-bin日志的属性,从库也可能作其他数据库的主库

将server33设置master,

mysql> change master to master_host='172.25.88.33',master_user='miao',master_password='Westos+007' ,master_auto_position=1;#自动定位pos

mysql> start slave;

检验同步是否成功

b855e5a86d13f4720d103acd614ebca7.png

b1d780080453f1c443cb53b1920cfb7c.png

检验是否为GTID模式

5c5108964fcb8915b2cfac418109f778.png

GTID与经典主从的区别

1.不用手动定位pos和binlog的位置,添加参数master_auto_position=1即可

2.多线程并发复制,Slave-parallel-workers=0,1,2(禁用,单线程,两个线程)

master数据库有改动,比如DML,存入bin-log中,备份到主数据库中,网络I/O才去master给slave去取数据

所以经典模式下一般手动设置给slave备份,因为一定要保证主被数据一样,自动容易出问题。推荐使用mysql5.7

SQL四种语言

1.DDL(Definition)数据库定义语言

DDL不需要commit.

CREATE,ALTER,DROP,TRUNCATE(快速清空sql表),COMMENT,RENAME

2.DML(Manipulation)数据操纵语言

DML需要commit.

SELECT,INSERT,UPDATE,DELETE,MERGE(更改),CALL,EXPLAIN PLAN,LOCK TABLE

3.DCL(Control )数据库控制语言

GRANT 授权  REVOKE

4.TCL(Transaction Control Language)事务控制语言

SAVEPOINT 设置保存点,ROLLBACK  回滚,SET TRANSACTION

排错: show slave status \G 中I/O和SQL不为YES

878513d63ffaf4c714d7d5cd63e311c1.png

I/O:selinux,iptables,授权SQL:主从数据不一致

0b1331709591d260c1c78e86d0c51c18.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/959348
推荐阅读
相关标签
  

闽ICP备14008679号