mysql 5.7主从复制搭建

来源:这里教程网 时间:2026-03-01 15:35:13 作者:

以下是普通的主从复制搭建过程,暂不包含5.7以来的新技术。 首先是修改主从的my.cnf,使mysql以该参数文件运行。主my.cnf

[mysqld]
server-id = 100
log-bin=mysql-bin
binlog_format=row

从my.cnf

[mysqld]
server-id = 101
log-bin=mysql-bin
binlog_format=row
master_info_repository=TABLE
relay_log_info_repository=TABLE
log_slave_updates=on
relay_log_recovery=on

然后在主库创建用于slave连接的账户:

mysql> grant replication slave on *.* to 'mysync'@'%' identified by 'q123456';
Query OK, 0 rows affected, 1 warning (0.05 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.07 sec)

接下来,初始化从库。这里用xtrabackup备份主库到从库,并记下binlog位置:

# cat xtrabackup_binlog_info
mysql-bin.000003        591

在从库执行:

mysql> change master to master_host='192.168.252.3',
master_user='mysync',
master_password='q123456',
master_port=3306,
master_log_file='mysql-bin.000003',
master_log_pos=591,
master_auto_position=0;
mysql> start slave;

到此全部完成配置。若要测试效果可在主库制造一些变更然后在从库查看效果。 查看slave状态

mysql> show slave status\G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.252.3
                  Master_User: mysync
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000003
          Read_Master_Log_Pos: 1275
               Relay_Log_File: mysql2-relay-bin.000002
                Relay_Log_Pos: 1004
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

重点看最后两行必须是Yes。 经测试,重启从库后,相关slave线程自动开启,无需人为操作。

相关推荐