基于日志点的复制和基于GTID的复制;
- 基于日志点的主从复制
1、主从节点的ip地址
主节点:192.168.3.100,从节点:192.168.3.101
2、在主节点的服务器中建立授权用户
mysql -uroot -p
create user repl@'192.168.3.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.3.%';
3、在主节点中配置相关信息
全局唯一的server-id:
server-id = 1;
log-bin = /home/mysql/sql_log/mysql-bin
4、在从节点中配置相关信息
server-id=2
log-bin= /home/mysql/sql_log/mysql-bin
relay_log = /home/mysql/sql_log/mysql-relay-bin
5、初始化从数据库
备份主数据库中数据:
mysqldump --single-transaction --master-data --triggers --rountines --all-databases -uroot -p >> all.sql
将其拷贝到从节点中的root目录下面:
scp all.sql root@192.18.3.101:/root
从节点数据库初始化:
mysql -uroot -p < all.sql
6、数据链路的配置
从节点上进行配置:
change master to master_host = '192.168.3.100',
master_user='repl',
master_password='123456',
##二进制日志点的位置和偏移量在主节点的log-bin日志中
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=1839;
7、开启链路
在从节点上开启链路:
start slave;
show slave status;
- 基于GTID的主从复制
1、主从节点的ip地址
主节点:192.168.3.100,从节点:192.168.3.101
2、在主节点的服务器中建立授权用户
mysql -uroot -p
create user repl@'192.168.3.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.3.%';
3、修改主节点的配置
包含基于日志点的两个参数设置
gtid_mode=on
enforce_gtid_consistency=on
4、修改从节点的配置
master_info_repository=TABLE
relay_log_info_repository=TABLE
gtid_mode=on
enforce_gtid_consistency=on
5、重启数据库服务器
6、初始化数据库
备份主数据库中数据:
mysqldump --single-transaction --master-data --triggers --rountines --all-databases -uroot -p >> all2.sql
将其拷贝到从节点中的root目录下面:
scp all2.sql root@192.18.3.101:/root
从节点数据库初始化:
mysql -uroot -p < all2.sql
7、数据链路的配置
change master to master_host = '192.168.3.100',
master_user='repl',
master_password='123456',
master_auto_position=1;
8、开启链路
在从节点上开启链路:
start slave;
show slave status;