阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL基于GTID的主从复制数据库

120次阅读
没有评论

共计 1867 个字符,预计需要花费 5 分钟才能阅读完成。

基于 GTID 的主从复制数据库
全局身份识别 GTID(global transaction identifier)
为了实现主备数据库的强一致性

GTID = source_id:transaction_id

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

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

MySQL 基于 GTID 的主从复制数据库

数据库的安装和初始化

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

MySQL 基于 GTID 的主从复制数据库

创建 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;

检验同步是否成功

MySQL 基于 GTID 的主从复制数据库

MySQL 基于 GTID 的主从复制数据库

检验是否为 GTID 模式

MySQL 基于 GTID 的主从复制数据库

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

MySQL 基于 GTID 的主从复制数据库

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142451.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1867字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中