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主从复制_第1张图片

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

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张图片

(2.)开始同步
mysql> START SLAVE;
(3.)查看Slave的运行状态
mysql> SHOW SLAVE STATUS\G

MySQL8.0主从复制_第3张图片

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

你可能感兴趣的:(Linux,MySQL)