MySQL一主多从数据同步配置

一、环境准备

安装教程:CentOS7安装MySQL

  1. MySQL安装:5.7
  2. 节点准备
    1. 主节点:192.168.184.128
    2. 从节点:192.168.184.129

本示例采用XShell实现多窗口同时编辑,方便快速搭建环境
image.png
image.png

二、主节点配置

  1. 创建并授权同步权限账号
mysql -uroot -proot
CREATE USER 'master'@'%' IDENTIFIED BY 'master';
GRANT REPLICATION SLAVE ON *.* TO 'master'@'%' IDENTIFIED BY 'master' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit;

  1. 修改配置文件

默认配置文件:/etc/my.cnf

[mysqld]
server-id=1
log-bin=master-bin
log_bin_index=master-bin.index
binlog_format=ROW
# expire_logs_days = 7
binlog_do_db=dev
binlog-ignore-db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys

说明:

  • server-id:参与同步的主、从节点都要配置,需要全局唯一
  • log-bin:日志文件名称
  • log_bin_index:日志文件索引名称
  • binlog_format:日志格式,有ROW、MIXED、STATEMENT
  • expire_logs_days:过期时间
  1. 重启主库并查看状态
service mysql restart

mysql -uroot -proot

# 查看主节点状态
mysql>show master status; 
# 在主库上查看已连接的slave主机
mysql>show slave hosts;
# 查看所有binlog日志 
mysql>show binary logs;

记录file和position信息,从库的配置需要用到
image.png

三、从节点配置

  1. 修改配置文件

默认配置文件:/etc/my.cnf

[mysqld]
server-id=2
log-bin=slave-bin
binlog_format=ROW

  • server-id:需要和主库不同
  • log-bin:可选项,从库自身的binlog名称,可做级联同步用,名字没有特别要求
  • binlog_format:必须和主库一致
  1. 重启从库并查看状态

一般来说,现在是没有slave相关信息的

service mysql restart
mysql -uroot -proot
mysql>show master status; 
mysql>show slave status \G;
  1. 配置从库连接主库的信息并查看状态
stop slave;

change master to master_host='192.168.184.128', master_port=3306, master_user='master', master_password='master', master_log_file='master-bin.000001', master_log_pos=154;

start slave;

show slave status \G;

  1. 查看同步状态

image.png
这两项关键配置为Yes代表同步成功

四、测试

  1. 记录初始状态

image.png

  1. 在master上创建数据库

注意,数据库名字是dev,即我们前面在master节点上binlog_do_db配置的内容。可以用Navicat可视化执行,也可以用SQL脚本执行。

CREATE DATABASE `dev` CHARACTER SET 'utf8mb4';

image.png

  1. 刷新从库链接

我们发现,dev数据库已经同步过来了。可以自测其他操作,如建表、insert、update等。需要注意的是,当前同步仅针对dev数据库。
image.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值