1. 在从服务器上,安装mysql,并修改配置文件:
  • 将server-id设置为与主节点不一致的值(如果之前已经修改过,就不用修改了)。
  • log_slave_updates=OFF(禁用此项,可大大加快从节点复制速度)。
  1. 主服务正常运行,不需要修改配置文件,不需要重启服务。
  2. 在主服务上,使用percona创建备份,并执行准备操作。在生成的备份文件夹下,会生成xtrabackup_binlog_info文件,此文件标记了此备份文件,对应的主服务上的二进制文件名,及其位置,稍后在从服务配置master信息时,需要指定。如下图所示。(共中“mysql-bin.000003”为二进制文件名,“2763173”为位置)。
    MySQL主从同步搭建方法_二进制文件
  3. 从服务,停止复制过程,如果当前没有正在执行复制,那么可以跳过此步骤。命令如下:
stop slave


  1. 将第2步中,在主服务上创建的备份,恢复到从服务上。
  2. 在从服务上,配置主服务信息。命令如下,注意根据实际情况修改各字段值。
CHANGE MASTER TO
MASTER_HOST='10.2.0.5',
MASTER_USER='root',
MASTER_PASSWORD='baiOMC@123',
MASTER_PORT=3306,
MASTER_LOG_FILE='xxx',
MASTER_LOG_POS=xxx;


  1. 开启多线程复制。命令如下:
set global slave_parallel_type='LOGICAL_CLOCK';
set global slave_parallel_workers=50;


  1. 在从服务上,启动复制过程,命令如下。
start slave;


  1. 在从服务上,执行“show slave status\G”命令,查看slave状态信息。结果如下所示。
show slave status\G;
*************************** 1. row ***************************
...
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
...
Seconds_Behind_Master: 0
...
...
1 row in set (0.00 sec)
ERROR:
No query specified
mysql>


Slave_IO_Running和Slave_SQL_Running,这两个字段的值都为Yes,即表示复制过程正常。

Seconds_Behind_Master为0,表示从节点已经追赶上主节点。

10. 等待数据同步完成,即等待Seconds_Behind_Master变为0。

11. 停止复制。登录从节点,然后执行stop slave和reset slave all命令。如下所示:

mysql> stop slave;
Query OK, 0 rows affected (0.06 sec)
mysql> reset slave all;
Query OK, 0 rows affected (0.02 sec)


  1. 修改从节点配置文件,log_slave_updates=ON。
  2. 重启从节点。