数据库MySQL主从-GTID
GTID复制:(Global Transaction ID 全局事务标识符) MySQL 5.6 版本开始支持,GTID复制不像传统的复制方式(异步复制、半同步复制)需要找到binlog文件名和POS点,只需知道master的IP、端口、账号、密码即可。开启GTID后,执行change master to master_auto_postion=1即可,它会自动寻找到相应的位置开始同步
主服务器配置:
vim /etc/my.cnf server-id=1 log-bin=mysql-bin #可选 gtid_mode=ON enforce_gtid_consistency mysql> grant replication slave on *.* to \'repluser\'@\'10.0.0.%\' identified by \'123456\';
从服务器配置:
vim /etc/my.cnf server-id=2 gtid_mode=ON enforce_gtid_consistency
mysql<< EOF change master to master_host=\'10.211.55.4\', master_port=3306, master_user=\'rep\', master_password=\'123456\', master_auto_position=1 EOF
1.第一步在主服务器上/etc/my.cnf/下添加
log-bin=log-bin
server-id=1
gtid_mode=ON
enforce_gtid_consistency
2.第二步:重启mysqld服务:service mysqld restart
3.第三步:在从服务器上在/etc/my.cnf 关闭二级制服务添加如下
#log-bin=log-bin
#log_slave_updates=1关闭二级制服务
server-id=2
gtid_mode=ON
enforce_gtid_consistency
4.第四步:重启数据库
5.登录主服务器的数据库mysql
show variables like \'%gtid%\';
6.第六步:在从服务器的mysql数据库中show variables like \'%gtid%\';
7.第七步:change master to
master_host =\'192.168.0.10\',
master_port=3306,
master_user=\'repl\',
master_password=\'123456\',
master_auto_position=1;
8.第八步:start slave;
9.第九步:查看:show slave status\G;
10.第十步:在主服务器上创建数据库create database class7;
create table class7.test;
insert into class7.test values (1),(2),(3);
11.第十一步:在从服务器mysql上验证:select * from class7.test;