两台服务器,系统是Redhat6.5,MySQL版本是5.7.18。
1、在主库上,创建复制使用的用户,并授予replication slave权限。这里创建用户repl,可以从IP为10.10.10.210的主机进行连接。
grant replication slave on *.* to 'repl'@'10.10.10.210' identified by 'mysql';

2、修改主服务器配置,加入如下配置:
cat /etc/my.cnf
[mysqld]
server-id=1
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_format=mixed
log_slave_updates=on
gtid-mode = ON  
enforce-gtid-consistency = ON

3、在主库上,设置读锁,确保没有数据操作,获得一个一致性的快照
flush tables with read lock;

4、利用mysqldump导出数据,拷贝至从库服务器。

5、主库备份完成,恢复写操作
unlock tables;

6、修改从库的配置文件,添加如下参数,注意server-id必须是唯一的,不能和主库相同,多个从库的话,server-id不能有重复。
cat /etc/my.cnf
[mysqld]
server-id=2
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog_format=mixed
log_slave_updates=on
gtid-mode = ON  
enforce-gtid-consistency = ON

7、在从库上,使用--skip-slave-start启动数据库,这样不会立即启动从库上的复制进程,方便我们进行下一步配置。
./bin/mysqld_safe --skip-slave-start &

8、在从库上边进行指向
change master to
master_host='10.10.10.200',
master_port=3306,
master_user='repl',
master_password='mysql',
master_auto_position=1;

9、在从库上边起slave线程
start slave;