MySQL主从复制实验

一、简介

本项目为了提升MySQL的并发能力构建一个简单的MySQL主从复制集群,实现读写分离功能,提升MySQL集群的业务处理能力,同时深入学习MySQL的整体的部署和对集群架构的理解。

二、环境准备

准备两台Linux系统虚拟机,安装好MySQL,配置网络,我的master数据库的ip为192.168.220.3,slave数据库的ip为192.168.220.4。
版本:CentOS Linux release 7.9.2009 (Core)、MySQL5.7.38

三、搭建MySQL主从复制集群

  1. master机上开启二进制日志和设置server_id
    vim /etc/my.cnf
    /etc/my.cnf在这里插入图片描述
  2. master机上创建一个用户repl,能让slave机访问
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO repl@'192.168.220.%' IDENTIFIED BY '123456';
  • replication slave权限,使slave数据库能从master数据库获得二进制日志数据。
  • replication client权限,用来监控和管理复制的账号需要REPLICATION CLIENT权限,并且针对这两种目的使用同一个账号更加容易(而不是为某个目的单独创建一个账号)。
    如果在主库上建立了账号,然后从主库将数据克隆到备库上时,备库也就设置好了——变成主库所需要的配置。这样后续有需要可以方便地交换主备库的角色。
  1. 在master上做一个全备,导出数据,导入到slave上,保持master和slave上的数据一致。
    master数据库:
mysqldump -uroot -p'123456' --all-databases >/backup/all_db.sql
scp /backup/all_db.sql root@192.168.220.4:/root

slave数据库:

mysql -uroot -p'123456' < /root/all_db.sql 
  1. 记录二进制File和Position
    在这里插入图片描述
  2. 启动复制
    slave数据库:
change master to master_host='192.168.220.3',
master_user='repl',
master_password='123456',
master_port=3306,
master_log_file='kafka01-bin.000007',
master_log_pos=755;
start slave;

执行show slave status\G;查看slave状态,如果有以下内容说明启动成功:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
在这里插入图片描述
6) 测试结果
master数据库中:
在这里插入图片描述
slave数据库中:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值