基于事务的replcation 其实是利用GTID来实现复制的 GTID最初由google实现,在MySQL5.6中引入,GTID在事务提交时生成,由UUID和ID组成,UUID在第一次启动mysql时生成,保存在数据目录下的auto.cnf文件中事务ID从1开始自增, 使用GTID好处: 1、不需要指定传统复制中的master_log_file和master_log_pos,使主从复制更简单可靠 2、可以实现基于库的多线程复制,减小主从复制的延迟
主服务器配置: 1、修改配置文件,开启二进制日志,设定server-id,开启gtid 2、创建二进制日志存储路径 3、赋予权限 4、重启服务 5、创建登陆账户 从服务器配置: 1、修改配置文件,设定server-id,开启gtid,保持一致 2、重启服务 3、设置slave
案例: 主服务器配置: 1、vim /etc/my.cnf log-bin=/var/log/mysql/mysql-bin server-id=208 gtid_mode=ON enforce_gtid_consistency=1 2、mkdir /var/log/mysql 3、chown -R mysql:mysql /var/log/mysql 4、systemctl restart mysqld 5、grant all on . to jqb@’%’ identified by ‘Jqb19910312,’;
从服务器配置: 1、vim /etc/my/cnf server-id=209 gtid_mode=ON enforce_gtid_consistency=1 2、mysql> change master to -> master_host=‘10.3.133.208’, -> master_user=‘jqb’, -> master_password=‘Jqb19910312,’, -> master_auto_position=1; (此处必须为1)
3、mysql>show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: Yes 只要看到这两个字段后面全部是Yes,说明主从已经配置成功 同样如果IO后面不是Yes,看一下配置的用户权限是否给了或者看一下slave是否写的正确,