mysql主从复制(使用binlog)

上一篇写了mysql快速离线安装,我在电脑上的另一台虚拟机上安装了mysql,两台mysql可以配置成mysql主从复制了

我是一边写文档,一边配置, 这边文档写完了,我就以为虚拟机那边执行过了,搞的总是出错,心态爆炸了,爆炸了!在自己的云服务器上安装的痛快多了,一遍成,反而在自己家的虚拟机弄了半天。。。

那些写各种教程大神们真是太伟大了,我这才刚开始写,就感觉写文档真的好费劲,一分心就出问题

Mysql主从复制(使用binlog)

这种方式的原理就是主服务器上的二进制日志在从服务器上再执行一遍

1.准备两台安装了mysql的虚拟机

准备两台可以连接的虚拟机或者云服务器

Linux:CentOS 7.7
Mysql:5.7.28
Master IP:192.168.91.3
Slave IP:192.168.91.4

2.修改数据库配置

①修改master数据库的my.conf文件

vim /etc/my.cnf

添加以下配置

log-bin=mysql-bin ##开启mysql二进制日志binlog
server-id=3 ##配置唯一的server-id 

在这里插入图片描述

②修改slave数据库的my.conf文件

vim /etc/my.cnf

添加以下配置

relay-log=mysql-relay ##开启中继日志
server-id=4 ##配置唯一的server-id

在这里插入图片描述

③重启master和slave的mysql服务

service mysql restart

3.创建一个拥有复制master数据库权限的账号

①进入mysql

mysql -u root -p

创建账号

GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.91.4' IDENTIFIED BY 'master';

②刷新

flush privileges;

③查询master的状态

show master status\G

记下红框中File和Position的值,接下来slave数据库会用到,记录完就不要再操作master,以防值发生变化
在这里插入图片描述

4.slave数据库连接master数据库

①进入mysql

mysql -u root -p

②输入mysql命令

master_host填maser数据库的ip

master_user填创建的账号

master_password填创建账号的密码

master_log_file填master状态里File的值

master_log_pos填master状态里Position的值

CHANGE MASTER TO master_host = '192.168.91.3',
 master_user = 'master',
 master_password = 'master',
 master_log_file = 'mysql-bin.000001',
 master_log_pos = 602;

在这里插入图片描述

③开启复制

start slave;

在这里插入图片描述
④查看复制装填

SHOW SLAVE STATUS\G

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

5.测试主从复制是否成功

①查看master数据库

show databases;

在这里插入图片描述

②查看slave数据库

show databases;

在这里插入图片描述

③在master上创建数据

create database master;
use master;
create table test(id int, number int);
insert into test values (1, 2);

在这里插入图片描述

④在slave数据库上验证是否复制成功
在这里插入图片描述

6.主从复制成功!

这样一个简单的mysql主从复制功能就实现了

接下来会使用mysql cluster的方式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值