简单的mysql主从复制搭建

准备工作

用虚拟机提前准备两台服务器,并且在服务器中分别安装好MySQL,服务器的信息如下:

数据库IP
主节点192.168.13.32
从节点192.168.13.108

用Docker安装MySQL

# 创建mysql配置文件【挂载需要】
mkdir -p /docker/mysql/conf

# 创建配置文件
vim /docker/mysql/conf/mysql.cnf

# 添加
[mysqld]
server-id=1    
log-bin=mysql-bin 

# 密码为root
docker run -id --name mysql \
-v /docker/mysql/data:/var/lib/mysql \
-v /docker/mysql/conf:/etc/mysql/conf.d \
--restart=always \
--privileged=true \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0.22

主库配置【192.168.13.32】

第一步:修改配置文件

[mysqld]
server-id=1    
log-bin=mysql-bin  

在这里插入图片描述
第二步:重启MySQL

# docker restart id   【id是容器的id】
docker restart 6841e223f6b1

在这里插入图片描述

第三步:创建用于主从复制用户账号并授权

在MySQL数据库中,主从复制是一种常见的数据复制和备份方案,它允许将数据从一个主数据库服务器同步到一个或多个从数据库服务器上。在设置主从复制时,需要确保从服务器有权限连接到主服务器并复制数据

# 这里的ip是从节点的ip
CREATE USER 'zhangsan'@'192.168.13.108' IDENTIFIED BY 'root123';
GRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'192.168.13.108';

在这里插入图片描述

第四步:
show master status;

在这里插入图片描述

从库配置【192.168.13.108】

第一步:修改配置文件

[mysqld]
server-id=2

第二步:重启MySQL

第三步:进入容器登录MySQL,设置主库地址及同步位置

# 注意参数
CHANGE MASTER TO
  MASTER_HOST='主服务器IP',
  MASTER_USER='repl',
  MASTER_PASSWORD='password',
  MASTER_LOG_FILE='主服务器上的File值',
  MASTER_LOG_POS=主服务器上的Position值;

CHANGE MASTER TO
  MASTER_HOST='192.168.13.31',
  MASTER_USER='zhangsan',
  MASTER_PASSWORD='root123',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=722
# 开启从库
START SLAVE;

# 查看从服务器复制状态,确保复制正常运行
SHOW SLAVE STATUS\G;

小结

MySQL主从复制是一种常见的数据库复制技术,用于在不同的MySQL数据库之间同步数据。这种配置通常包括一个主数据库(Master)和一个或多个从数据库(Slave)。

用于读写分离
主数据库服务器(Master):负责处理所有的写操作,保持数据的一致性。
从数据库服务器(Slaves):负责处理读操作,从主服务器复制数据以保持与主服务器数据的同步。


❤觉得有用的可以留个关注❤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值