mysql主从复制(使用binlog)

文章目录

  • Mysql主从复制(使用binlog)
    • 1.准备两台安装了mysql的虚拟机
    • 2.修改数据库配置
    • 3.创建一个拥有复制master数据库权限的账号
    • 4.slave数据库连接master数据库
    • 5.测试主从复制是否成功
    • 6.主从复制成功!

上一篇写了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 

mysql主从复制(使用binlog)_第1张图片

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

vim /etc/my.cnf

添加以下配置

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

mysql主从复制(使用binlog)_第2张图片

③重启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,以防值发生变化
mysql主从复制(使用binlog)_第3张图片

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;

mysql主从复制(使用binlog)_第4张图片

③开启复制

start slave;

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

SHOW SLAVE STATUS\G

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

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

①查看master数据库

show databases;

mysql主从复制(使用binlog)_第5张图片

②查看slave数据库

show databases;

mysql主从复制(使用binlog)_第6张图片

③在master上创建数据

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

mysql主从复制(使用binlog)_第7张图片

④在slave数据库上验证是否复制成功
mysql主从复制(使用binlog)_第8张图片

6.主从复制成功!

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

接下来会使用mysql cluster的方式

你可能感兴趣的:(mysql,Linux配置)