windows下mysql主从复制

Mysql主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台Mysql数据库(slave,即从库)从另一台Mysql数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。Mysql主从复制是Mysql数据库自带功能,无需借助第三方工具。

环境

master(主库):

mysql 8.0.28

win10系统

端口号 3307

slave(从库):

mysql 8.0.27

win 10系统

端口号3306

主库配置:

(1)修改my.ini配置文件

# server_type=3
[mysqld]
port=3307           #服务器端口号

server-id=1         #主库标识id,要与从库不同

log-bin=mysql-bin

binlog_do_db=backup        #要备份的数据库1
binlog_do_db=ry_demo        #要备份的数据库2

 

(2)创建远程连接账号,并且给Slave用户授予REPLICATION SLAVE(主从复制)权限

# 创建用户
CREATE USER 'Slave'@'%' IDENTIFIED BY '123456';

# 赋予权限
grant all privileges on *.* to 'Slave'@'%';

# 刷新权限
FLUSH PRIVILEGES;

(3)登录mysql数据库,执行下面sql,记录下结果 中File和Position的值

show master status;

(执行完主库就不动了,为了查询结果 中File和Position的值)

 从库配置:

(1)修改my.ini配置文件

[mysqld]
server-id=113        #从库id不能和主库一样

replicate-do-db=backup        #要同步的数据库1
replicate-do-db=ry_demo        #要同步的数据库2

(2)重启mysql服务

 (3)配置主从连接

1、停止slave:

stop slave;

2、配置连接

CHANGE MASTER TO MASTER_HOST = '远程地址', MASTER_USER = 'Slave(配置创建的用户)',MASTER_PASSWORD = '123456',MASTER_PORT = 3307,MASTER_LOG_FILE='iZbp1i9kk9cqhpZ-bin.000060(刚才记录的File)',MASTER_LOG_POS=3661(刚才记录的Position的值,不加引号);

3、重新启动

start slave;

4、登录mysql数据库,执行下面sql,查看从数据库的状态

show replica status\G

至此,可以去数据库增加数据检察结果 。

新增一条:

 本地主机已经数据同步过来

 总结:

在使用mysql主从复制依然发现还有比较多的bug,比如:
1、如果从库数据人为更改了,那主从复制连接就断开失效,也就是从库数据不能更改,

2、mysql5与mysql8版本不同,使用简单的123456作为密码,依然会出错,这得找到错误日志,去网上找解决方法

3、。。。。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值