mysql主从同步

准备工作

关闭防火墙
数据库授权允许远程访问
grant all privileges on . to root@’%’ identified by “password” with grant option;
flush privileges;

主从同步原理图

在这里插入图片描述

找到配置文件(如果是linux,则是my.cnf)在这里插入图片描述

修改my.ini配置文件

在这里插入图片描述

#id
server-id=1
#二进制日志文件
log-bin="D:/MySQL/MySQL Server 5.5/data/mysql-bin"
#错误记录文件
log-error="D:/MySQL/MySQL Server 5.5/data/mysql-error"
#主从同步时 忽略的数据库
binlog-ignore-db=mysql
#(可选)指定从从同步时,同步哪些数据库
binlog-do-db=test

查看配置完的主机

在这里插入图片描述
在这里插入图片描述

主机授权从机

在这里插入图片描述

GRANT REPLICATION slave,reload,super ON *.* TO 'root'@'192.168.5.%' IDENTIFIED BY 'root';
flush privileges;

从机修改my.ini

在这里插入图片描述

#id
server-id=2
#二进制日志文件
log-bin="D:/MySQL/MySQL Server 5.5/data/mysql-bin"
#指定同步的数据库
replicate-do-db=test

从机授权哪台计算机为主机(注:授权是双方的,主机授权从机,从机也要授权主机)

在这里插入图片描述

CHANGE MASTER TO
MASTER_HOST = '192.168.5.169',
MASTER_USER = 'root',
MASTER_PASSWORD = 'root',
MASTER_PORT = 3306,
MASTER_LOG_FILE = 'mysql-bin.000001',
MASTER_LOG_POS = 107;

退出并重新启动查看从机的状态

退出mysql
在这里插入图片描述
右击重新启动mysql
在这里插入图片描述
启动从机
在这里插入图片描述
查看从机状态
在这里插入图片描述

可能出现以下问题及解决

在这里插入图片描述

报错日志信息:
在这里插入图片描述
排查:
1、查看主机的severid
show variables like ‘server_id’;
在这里插入图片描述
2、查看从机的serverid

show variables like ‘server_id’;
在这里插入图片描述
原因:从机的serverid没有生效,还是1,可能是mysql安装的主从版本不一致,也可能是其他问题
解决方案:
stop slave;
set global server_id = 2;
start slave;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值