软件开发架构师

MYSQL5.7进阶之主从复制

数据库 106 2020-05-19 09:42

主从复制是msql数据库的高可用 读写分离 容灾备份 等的基本要求

在这主从复制之前我们需要准备以下条件

  • 保证master数据库和从数据库的mysql版本一致
  • matser和从数据防火墙关闭 数据库端口开启

 

好了,开搞 奥利给 兄弟们 干就完了

首先我们要配置主数据库的信息

以楼主win系统下的数据库为主数据库为例子

找到mysql的配置文件 my.ini

<a id=MYSQL5.7进阶之主从复制-1" alt="">

 

 

 在配置之前请将my.ini文件复制备份一份!

 在配置之前请将my.ini文件复制备份一份!

 在配置之前请将my.ini文件复制备份一份!

配置下列参数

(ctrl+f  快速操作相关参数 如果存在则修改,没有这个参数 则就加上就可以- -!)

# 这里是从数据库读取的主数据库的日志信息 注意Data后面的不是目录而是保存的文件名!
 log-bin="G:\mysql\Data\logbin"

# 这里是从数据库读取的主数据库的异常信息 注意Data后面的不是目录而是保存的文件名!
log-error="G:\mysql\Data\logerr"

# 服务编号  默认为1
server-id=1

# 要复制的数据 这里填写你的数据库名
binlog-do-db=demo
# 不需要复制的数据库 这里填写系统库就可以
binlog-ignore-db=mysql
# 详情请看 https://www.cnblogs.com/langtianya/p/5504774.html  这里默认
binlog_format=STATEMENT

 

配置完成后 重启数据库

<a id=MYSQL5.7进阶之主从复制-2" alt="">

 

 右键 -> 重新启动

如果重启失败 请检查你的配置是否正确 ! 备份很重要!!!

接下来咱们查看一下主数据库的状态

SHOW MASTER STATUS;

出现下列信息 表示数据库配置完成!

<a id=MYSQL5.7进阶之主从复制-3" alt="">

 

 

记住这两个参数 后面会用

接下来要配置咱们的从数据库了 首先打开咱们的终端

进入 etc

cd /etc

进入咱们的数据配置文件

vim my.cnf

 

<a id=MYSQL5.7进阶之主从复制-4" alt="">

 

 添加箭头中的两个配置

添加完成后保存退出

接下来重启数据库 

systemclt restart mysql

等待一会重启成功后

<a id=MYSQL5.7进阶之主从复制-5" alt="">

 

 一抹翠绿代表启动成功!

好了接下来 我们完成最后一步就能连接啦!

首先操作主数据库 创一个用户

GRANT REPLICATION SLAVE ON *.* TO '定义你用户名'@'从数据库ip' IDENTIFIED BY '123456'

执行成功后

我们要用这个用户连接到咱们的主数据库

在从数据库中

# 这里填写你的主数据库ip
CHANGE MASTER TO MASTER_HOST='192.168.0.102',
# 连接的用户名
MASTER_USER='haoran',
# 用户名密码
MASTER_PASSWORD='123456',
# 这两个参数 读取的日志名称 和切入点
MASTER_LOG_FILE='logbin.000002',MASTER_LOG_POS=750

 

最后一项数据的应该咱们配置 就是我们之前的查出来的这两个数据!

<a id=MYSQL5.7进阶之主从复制-3" alt="">

 

配置完成后 别着急 

还有一步

在从数据库执行

START SLAVE;

当执行成功后 代表主从复制已经搭建好了

测试一下

在主数据建库建表插数据 数据库名必须是之前的binlog_do_db 配置项的名称

主数据库

<a id=MYSQL5.7进阶之主从复制-7" alt="">

 

 从数据库

<a id=MYSQL5.7进阶之主从复制-8" alt="">

 

文章评论