GTID的主从复制的配置

主库配置:
(一)、修改配置文件:在my.cnf配置文件中开启如下选项。
[mysqld]
#GTID:
gtid_mode=on
enforce_gtid_consistency=on
server_id=2003306
 
#binlog
log-bin=mysqlbin
log-slave-updates=1
binlog_format=row      #强烈建议,其他格式可能造成数据不一致
 
#relay log
skip_slave_start=1
 
(二)、初始化数据库:
cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
 
(三)、启动mysql进程:
cp support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start
 
(四)、校验mysql是否启动:
ps axu|grep mysqld
netstat -nalp|grep "3306"
lsof -n -i:3306
 
(五)、进入master数据库查询相关信息:
1、查看master状态:
show master status
 
2、查看主库GTID信息:
show global variables like '%gtid%';
 
 
3、查看server_id和server_uuid
show global variables like 'server%';
 
 
4、插入新数据,生成GTID号:
create database wubx;
use wubx
create table wu(id int,name varchar(30));
insert into wu(id,name) values(1,'u1');
select * from wu;
 
5、确认master状态是否获取GTID信息:
进行了3次事务。
 
 
6、再次添加数据,查看GTID变化:
use wubx;
insert into wu(id,name) values(2,'u2');
select * from wu;
 
7、在查看master信息
show master status;
变成了1-4
 
8、查看用户、主机名和密码:
select user,host,password from mysql.user;
 
9、清理没用的用户:
delete from mysql.user where user!='root' or host!='localhost';
 
注意:由于mysql.user是myisam引擎的表。所以gtid在复制的时候会出现错误,无法同步。
 
 
10、主库创建复制账号:
grant replication slave on *.* to 'abobo'@'%' identified by '123';
flush privileges;
 
 
11、查看用户权限:
[master]>show grants for abobo;
 
12、查看master的GTID信息:
show master status;
 
-------------------------------------------------------------------------------
从库配置
(一)、修改配置文件:在my.cnf配置文件中开启如下选项。
[mysqld]
#GTID:
gtid_mode = on
enforce_gtid_consistency = on
server_id=2013306
 
#binlog
log-bin=mysqlbin
log-slave-updates=1
binlog_format=row      #强烈建议,其他格式可能造成数据不一致
 
#relay log
skip_slave_start=1
 
(二)、初始化数据库:
cd /usr/local/mysql/
./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
 
(三)、启动mysql进程:
cp support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start
 
(四)、校验mysql是否启动:
ps axu|grep mysqld
netstat -nalp|grep "3306"
lsof -n -i:3306
 
 
 
(五)、进入slave挂载master:
1、从库使用GTID的方式change到主库:
change master to 
master_host='192.168.100.200',
master_user='abobo', 
master_password='123', 
master_auto_position=1;
注释:
master_auto_position=1,让从库自动到主库的第一个GTID去找。
 
2、查看slave信息:
show slave status\G;
可以看到executed gtid set:这个表示slave端没有执行过任何事务的GTID。并且,自动位置为1
 
3、开启同步:
start slave 
 
4、查看同步状态:
show slave status\G;
 
5、查看主库:
posted @ 2015-01-23 14:01  风之岚翔  阅读(1713)  评论(0编辑  收藏  举报