MySQL 主备同步设置

描述

数据库主备同步,将mysqlA 中的数据同步mysqlB 中,mysqlA 作为主库,mysqlB作为备库

准备

1.两个数据库mysqlA,mysqlB 要同步的库为test

数据库信息
库名IP地址端口同步用户名同步密码
mysqlA127.0.0.13306replicreplic
mysqB127.0.0.13307

(模拟两个库,我们在同一台电脑上装了2个mysql 端口分别为3306,3307)

2.创建同步账号

CREATE USER replic IDENTIFIED BY 'replic';  
-- GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replic'@'%';
FLUSH PRIVILEGES;

3.开启mysqlA(主库) 的binlog日志

查看mysql binlog 是否开启

命令:show VARIABLES LIKE '%log_bin%'

开启主从同步配置(binlog)

修改:my.ini(my.cnf)文件

[mysql]
#设置msyql客户端默认字符集
default-character-set=utf8
[mysqld]
bind-address=0.0.0.0
port=3306
#设置mysql的安装目录
basedir=D://soft\mysql-5.7.41-winx64
#设置MySQL数据库数据的存放目录
datadir=D://soft\mysql-5.7.41-winx64\data

#开启主从同步
#开启binlog日志 一个等同下面三行命令
log_bin=D://soft\mysql-5.7.41-winx64\data\logbin\mysql-bin
#binlog日志的基本文件名,需要注意的是启动mysql的用户需要对这个目录
#log_bin_basename=D://soft\mysql-5.7.41-winx64\data\logbin\mysql-bin
#binlog文件的索引文件,管理所有binlog文件
#log_bin_index=D://soft\mysql-5.7.41-winx64\data\logbin\mysql-bin.index
#设置binlog的清理时间
expire_logs_days=100
# 配置binlog日志的格式
binlog_format = ROW
# 配置 MySQL replaction 需要定义,不能和 canal 的 slaveId 重复
server-id=1

4.配置mysqlB(备库)同步信息

1.配置my.ini(my.cnf)信息

[mysql]
#设置msyql客户端默认字符集
default-character-set=utf8
[mysqld]
bind-address=0.0.0.0
port=3307
#设置mysql的安装目录
basedir=D:/soft/mysql-5.7.41-winx64-slaver
#设置MySQL数据库数据的存放目录
datadir=D:/soft/mysql-5.7.41-winx64-slaver/data

#开启主从同步

[mysqld]
#每个MySQL实例必须有一个唯一的服务器ID
server-id = 3
#开启binlog日志,如果不想制定路径,只写mysql-bin即可
#log_bin=mysql-bin
log_bin=D:/soft/mysql-5.7.41-winx64-slaver/logbin\mysql-bin
#从服务器用于存储中继日志的位置
relay-log =D:/soft/mysql-5.7.41-winx64-slaver/relaylog\mysql-relay-bin
#忽略掉不需要同步的表 数据库名.表名
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=performance_schema.%
replicate-wild-ignore-table=information_schema.%
replicate-wild-ignore-table=sys.%


#binlog日志的基本文件名,需要注意的是启动mysql的用户需要对这个目录
#log_bin_basename=D://soft\mysql-5.7.41-winx64\data\logbin\mysql-bin
#binlog文件的索引文件,管理所有binlog文件
#log_bin_index=D://soft\mysql-5.7.41-winx64\data\logbin\mysql-bin.index
#设置binlog的清理时间
expire_logs_days=33
# 配置binlog日志的格式
binlog_format = ROW
#跳过所有错误执行语句(存在主备库数据不一致的情况,会导致语句错误,使slave_sql_runing 停止)
slave-skip-errors=all

2.配置主库信息

在mysqlB(从库运行下面命令)

注释:MASTER_LOG_FILE,MATER_LOG_POS 可以在主库中运行SHOW MASTER STATUS 获取信息

 在从库中运行下面sql

-- 配置信息
-- MASTER_HOST 主库的IP地址,
-- MASTER_PORT 主库的端口号,
-- MASTER_USER 主库用户名,
-- MASTER_PASSWORD 主库密码,
-- MASTER_LOG_FILE  指定从哪个二进制日志文件开始复制,
-- MASTER_LOG_POS 指定从哪个位置开始复制;

CHANGE MASTER TO
MASTER_HOST='127.0.0.1',
MASTER_PORT =3306,
MASTER_USER='replic',
MASTER_PASSWORD='replic',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=6030;
-- 开启
 -- START SLAVE;
-- 停止
 -- STOP SLAVE;
 --重置
 -- RESET SLAVE;

5.启动从库配置

1.启动

运行: START SLAVE;

2.查看结果

运行: SHOW SLAVE STATUS; 

出现如下图信息 说明配置成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值