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

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

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

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

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

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

找到mysql的配置文件 my.ini

在配置之前请将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= # 要复制的数据 这里填写你的数据库名
binlog-do-db=demo
# 不需要复制的数据库 这里填写系统库就可以
binlog-ignore-db=mysql
# 详情请看 https://www.cnblogs.com/langtianya/p/5504774.html 这里默认
binlog_format=STATEMENT

配置完成后 重启数据库

右键 -> 重新启动

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

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

SHOW MASTER STATUS;

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

记住这两个参数 后面会用

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

进入 etc

cd /etc

进入咱们的数据配置文件

vim my.cnf

添加箭头中的两个配置

添加完成后保存退出

接下来重启数据库

systemclt restart mysql

等待一会重启成功后

一抹翠绿代表启动成功!

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

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

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

执行成功后

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

在从数据库中

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

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

配置完成后 别着急

还有一步

在从数据库执行

START SLAVE;

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

测试一下

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

主数据库

从数据库

MYSQL5.7进阶之主从复制的更多相关文章

  1. Centos7.5部署MySQL5.7基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)

    之前已经详细介绍了Mysql基于GTID主从复制的概念,原理和配置,下面整体记录下MySQL5.7基于GTID主从复制+并行复制+增强半同步复制+读写分离环境的实现过程,以便加深对mysql新特性GT ...

  2. 关于Mysql5.6半同步主从复制的开启方法【转】

    介绍 先了解一下mysql的主从复制是什么回事,我们都知道,mysql主从复制是基于binlog的复制方式,而mysql默认的主从复制方式,其实是异步复制. 主库实际上并不关心从库是否把数据拉完没有, ...

  3. Docker安装mysql5.7并且配置主从复制

    Docker安装mysql5.7并且配置主从复制 一.拉取mysql镜像 二.创建文件docker.cnf 2.1 mysql主机(192.168.21.55:3307) 2.1.1 创建文件夹 2. ...

  4. Centos6上进行Mysql5.6安装和主从复制部署

    系统:centos6 数据库:mysql5.6 服务器:两台,一主一从 一.Mysql5.6二进制版本的安装 Mysql的安装在有三种模式,第一种是yum安装,第二种是二进制模式的安装,第三种是源码编 ...

  5. 关于MySQL5.7开启bin-log主从复制

    主从复制:一般用于实时备份.也可配合mycat,实现读写分离. 传统的基于 ROW的主从复制 简单说下步骤: master主库配置同步,slave从库配置同步,master锁表/备份,slave恢复数 ...

  6. mysql5.6做单向主从复制Replication

    原理场景:MySQL从3.23版本开始提供复制功能.指的是将主数据库的DDL和DML操作通过二进制日志传到从服务器(也叫从库),然后在从库上对这些日志重新执行, 从而使得从库和主库的数据保持同步. 优 ...

  7. Mysql5.7基于日志主从复制

    主从同步概念 主从同步是异步复制 Mysql两种复制类型: 基于二进制日志 使用GTID完成基于事务的复制 基于日志三种方式: Mysql5.7需要注意的问题: 老版本方法创建mysql用户 #mys ...

  8. MySQL5.7安装、主从复制、读写分离原理解析以及详细配置

    一.Linux下mysql彻底卸载 1.查看mysql的安装情况 rpm -qa | grep -i mysql 2.删除上图安装的软件 rpm -ev mysql-community-libs--. ...

  9. mysql5.7.26做主从复制配置

    一.首先两台服务器安装好mysql数据库环境 参照linux rpm方式安装mysql5.1 https://www.cnblogs.com/sky-cheng/p/10564604.html 二.主 ...

随机推荐

  1. 实验五:配置Eth-Trunk链路聚合(手工负载分担模式)

    1.配置图 2.配置命令 LSW1的eth trunk 1配置如下: 配置命令如下: [S1]Eth-Trunk1 创建Eth-Trunk1端口 [S1-Eth-Trunk1]mode lacp-st ...

  2. Python Selenium定位元素常用解决办法

       在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException), ...

  3. Java程序员学习Go语言—之一

    转载:https://www.luozhiyun.com/archives/206 GOPATH 工作空间 GOPATH简单理解成Go语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个 ...

  4. php--->使用callable强制指定回调类型

    php 使用callable强制指定回调类型 如果一个方法需要接受一个回调方法作为参数,我们可以这样写 <?php function dosth($callback){ call_user_fu ...

  5. Docker(一) 简介

    简介 Docker是一款针对程序开发人员和系统管理员来开发.部署.运行应用的一款虚拟化平台.Docker 可以让你像使用集装箱一样快速的组合成应用,并且可以像运输标准集装箱一样,尽可能的屏蔽代码层面的 ...

  6. Vue系列教程(一)基础介绍

    什么是Vue.js Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App,Vue语法也可以进行手机App的开发,需要借助Weex) V ...

  7. Codeforces Round #618 (Div. 2)

    题库链接 https://codeforces.ml/contest/1300 A. Non-zero 一个数组,每次操作可以给某个数加1,让这个数组的积和和不为0的最小操作数 显然如果有0的话,必须 ...

  8. python学习Day02

    [主要内容] 1. 循环. while循环 while 条件: 代码块(循环体) 执行流程: 1. 判断条件是否为真. 如果真. 执行代码块 2. 再次判断条件是否为真...... 3. 当条件为假. ...

  9. gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(上)

    上一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html 建立Go项目 在GOPATH的src下面建立一个文件夹 protobuf-go, ...

  10. ccf

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; public class MST { pu ...