mysql8.0设置主从复制(同步)

mysql8.0设置主从复制

1、确保端口能远程连接
  1. 修改安全组规则,3306
  2. 或者直接关闭防火墙(去Linux文档找)原文链接:CentOS 7关闭防火墙命令_centos7关闭防火墙命令-CSDN博客
2、配置 主
1.修改配置
vi /etc/my.cnf
[mysqld]
## 同一局域网内注意要唯一 ,新建数据库默认id是1,主从两个不重复就行
server-id=100  
## 开启二进制日志功能,可以随便取(关键),默认就有,名字就是mysql-bin
log-bin=mysql-bin
## 需要同步的数据库 
binlog_do_db = 需要同步的数据库
## 不需要同步的数据库,多个用逗号隔开
binlog_ignore_db = mysql 
2.重启使配置生效
service mysqld restart
3.创建从服务器连接用户
mysql -uroot -p 
# 创建从用户
CREATE USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY 'slave@2024';
# 授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
# 也可以直接用所有权限,但是是不规范的,只能测试用
grant all on *.* to 'zhenxu'@'%'; 
4.查看binlog文件
# 查看当前正在写入的binlog文件
show master status;
# 记录File 和 Position 的值,并不要进行update deleted 等操作,以免引起position 的变化

在这里插入图片描述

3、配置 从
1.修改配置
vi /etc/my.cnf
[mysqld]
#  同一局域网内注意要唯一 ,新建数据库默认id是1,主从两个不重复就行
server-id=101  
# 开启二进制日志功能,以备Slave作为其它Slave的Master时使用,默认就有log-bin,改个名字
log-bin=mysql-slave-bin   
# relay_log配置中继日志
relay_log=edu-mysql-relay-bin 
2.重启使配置生效
service mysqld restart
3.设置主服务器
change master to master_host='192.168.0.120',master_user='slave',master_password='slave@2024',master_port=3306,master_log_file='mysql-bin.000017',master_log_pos=6259,master_connect_retry=30;

ps:参数说明

参数说明
master_host主 地址
master_user用于数据同步的用户
master_password用于同步的用户的密码
master_port主 端口号
master_log_file指定 Slave 从哪个日志文件开始复制数据(主show master status命令后的File)
master_log_pos从哪个 Position 开始读(主show master status命令后的Position)
master_connect_retry单位秒,默认60,连接失败重试的时间
4.开启主从复制

查看主从复制状态:

show slave status \G;    

此时SlaveIORunning 和 SlaveSQLRunning 都是No

开启主从复制:

start slave;

再次查看同步状态SlaveIORunning 和 SlaveSQLRunning 应都是Yes
在这里插入图片描述

5.主从复制相关命令:
# 停止主从复制
stop slave;
# 重置从库的复制状态,需先停止
reset slave;
4、失败原因

失败原因执行 show slave status \G; 后会在Slave_SQL_Running_State(应该是,忘了具体那个了)显示。

SlaveIORunning一直是Connecting(我遇到的):

(1)密码输错了(主从复制相关命令执行后再设置主服务器)

(2)网络不通(我是防火墙的原因,由于是虚拟机,直接关闭了防火墙)

其他原因(网络搜索到的):

(1)pos不对,检查Master的Position

(2)mysql8特有的密码规则问题引起

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值