MySQL8 数据库主从同步

符号 阅读:723 2021-03-31 21:09:31 评论:0

环境:

192.168.1.171(Centos)主库

192.168.1.73(Window server R12) 从库

MySQL8

MySQL 主从复制原理:

1、Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 
这些记录叫做二进制日志事件(binary log events);

2、Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);

3、Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完 
成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。

MySQL 主从同步要求:

1、主从库,MySQL 版本一致。

主库(Master)配置:

第一步:编辑my.cnf,添加如下代码:

[mysqld] 
log-bin=mysql-bin 
server-id=1

第二步:创建用于复制操作的账户

在主节点创建一个用户repl,用于从节点链接主节点时使用。

mysql> CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'repl'; 
 
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

刷新授权表信息:

mysql> flush privileges;

第三步:获取主库当前binary log文件名和位置(position)

mysql> SHOW MASTER STATUS;

第四步:重启MySQL 服务

 

从库(Slave)配置:

第一步:编辑my.ini配置文件,添加如下代码:

[mysqld] 
log-bin=mysql-bin 
server-id=2

第二步:重启MySQL 服务

第三步:从(Slave)节点上设置主节点参数:

mysql> CHANGE MASTER TO 
 MASTER_HOST='192.168.1.171', 
 MASTER_USER='repl', 
 MASTER_PASSWORD='repl', 
 MASTER_LOG_FILE='binlog.000006', 
 MASTER_LOG_POS=856; 

  参数说明:master_host =主库地址, master_user= 主库创建同步账户,master_password=主库创建同步账户密码,

master_log_file=日志文件名称,master_log_pos=日志文件位置

第四步:开启主从同步:

mysql> start slave;

第五步:查看主从同步状态:

mysql> show slave status\G;

截图如下:

只需要关注这两个参数是否为Yes,其他状态No,connecting均代表有错误!

标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号