Mysql主从同步最简易教程

Mysql8:0 主从配置同步

Mysql版本服务端口
8.0宿主机3306
8.0Docker容器从机3307

主机配置

数据库配置

# 修改 /etc/my.cnf
#服务器 id,随意,但要唯一
server-id = 1  
#二进制文件存放路径
log-bin = mysql-bin 
#参数用于排除自带的数据库。  
binlog-ignore-db = mysql 
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#二进制日志格式,建议使用ROW格式以获得更好的兼容性和可靠性。
binlog-format = ROW

创建从库用户

# 重启服务
systemctl restart mysqld
#执行命令
use mysql;
#创建用户
CREATE USER 'db_sync'@'%' IDENTIFIED BY '密码';
#授权账号复制权限
GRANT REPLICATION SLAVE ON *.* TO 'db_sync'@'%';
#刷新配置
FLUSH PRIVILEGES;
# 查询主机 状态 File Position  后期要使用
SHOW MASTER STATUS;

从库配置

因为操作的是Docker 所以 要进入容器 改一下配置文件

容器操作修改my.cnf

# 进入docker 容器
docker exec -u 0  -it f5199cfca789  /bin/bash
#-u 0 以root 用户进入 
# -it 后面跟上容器id 即可 进入后执行
/etc/my.cnf <<EOF
server-id = 2
#中继日志文件的名称,用于从主服务器接收二进制日志事件。
relay-log = mysql-relay-bin
#从服务器的二进制日志文件的名称。
log_bin = mysql-bin
#不同步相关的库
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
EOF
# 执行完毕 退出
exit
# 重启容器 也就是重启Mysql
docker restart  f5199cfca789

从库执行Mysql命令

STOP SLAVE;
 CHANGE MASTER TO
 MASTER_HOST = '111.30.74.11', 
 MASTER_USER = 'db_sync',
 MASTER_PASSWORD = 'pwd',
 #主服务器数据库上的file值(不能有空格)
 MASTER_LOG_FILE = 'mysql_bin.000001',
 #主服务器数据库的Position值
 MASTER_LOG_POS = 864,
 get_master_public_key=1;
 start slave;
 SHOW SLAVE STATUS;
# MASTER_HOST 主库服务器地址
# MASTER_USER 主库给用户名
# MASTER_PASSWORD 主库用户密码
# MASTER_LOG_FILE 对应 Master File 文件
# MASTER_LOG_POS 偏移量 Master Position
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值