天天看点

MySQL8.0主从复制

环境介绍:

主:使用VMware虚拟Linux系统(CentOS7),并安装mysql8.0

从:使用windows并安装mysql8.0

虽然两个数据库的环境并不一样,但是不会影响我们的MySQL主从复制。

步骤简述:

     1.在Linux系统中安装MySQL(亲测可用:https://www.jianshu.com/p/1dab9a4d0d5f)

     2.在MySQL中创建用于主从复制的用户并授权(亲测可用:https://www.jianshu.com/p/d7b9c468f20d)

     3.在Windows中安装MySQL

     4.配置主库

     5.配置从库

主要介绍一下第4和第5步:

      注意:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。

主服务器配置

在mysqld下增加如下参数

[mysqld]

#设置服务器id,为1表示主服务器,实例唯一ID,不能和canal的slaveId重复

server_id=1

#启动MySQ二进制日志系统

log-bin=mysql-bin

#选择row模式 

binlog-format=ROW

#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

binlog-do-db=DB1

#不同步mysql系统数据库

binlog-ignore-db=mysql

从数据库配置

由于使用的是Windows 中的MySQL 所以在my.ini配置文件

[mysqld]中配置如下

#实例唯一ID,不能和canal的slaveId重复,表示为从数据库

server-id=2

#启动MySQL二进制日志系统

log-bin=mysql-bin 

#选择row模式

binlog-format=ROW

#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行 

replicate-do-db=test_master

#不同步mysql系统数据库

replicate-ignore-db=mysql

配置好后重启两个数据库!

下面我们看下配置是否正确

在主数据库中执行  show master status;

MySQL8.0主从复制

在从数据库中执行下面指令

mysql> CHANGE MASTER TO

    -> MASTER_HOST='服务器主机地址',

    -> MASTER_USER='用户名',

    -> MASTER_PASSWORD='密码!',

    -> MASTER_LOG_FILE='binlog.000001',

    -> MASTER_LOG_POS=1807;

Query OK, 0 rows affected, 1 warning (0.07 sec)

MySQL8.0主从复制

(2.)开始同步

mysql> START SLAVE;

(3.)查看Slave的运行状态

mysql> SHOW SLAVE STATUS\G

MySQL8.0主从复制

接下来就可以自己测试一下了,由于我使用的是Navicat 链接进行的测试所以就不在这里展示了。

继续阅读