主从复制是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. windows下RocketMQ安装部署

    一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...

  2. 趣学CCNA 路由与交换

    第1章 OSI和TCP/IP 11.1 协议与协议分层 31.2 OSI参考模型 61.2.1 物理层 91.2.2 数据链路层 91.2.3 网络层 101.2.4 传输层 101.2.5 会话层 ...

  3. Mabitis

    Mybatis 一.框架概念: Java框架,一个软件半成品,简单来说就是一个别人搭好的舞台,你来做表演,说白了Java框架就是封装好方便程序员操作的类,使项目的开发更简单,维护起来也更容易. 而My ...

  4. 优雅写Java之四(类与对象)

    一.类相关用法 二.Bean 三.泛型与注解 四.序列化

  5. Shell环境变量文件

    /etc/profile 系统级的初始化环境变量文件,由登录Shell调用执行 /etc/profile.d 当/etc/profile运行时,会调用该目录下的一些脚本 /etc/bashrc 每个交 ...

  6. SpringBoot2.x整合JDBC及初始化data.sql和schema.sql脚本

    今天在使用SpringBoot2.x版本整合JDBC时遇到了一些问题:由于我之前一直用SpringBoot1.5的版本,所以直接在yml里按照1.5的版本配置了属性,没想到2.x直接不能用了.首先是数 ...

  7. flask使用blinker信号机制解耦业务代码解决ImportError: cannot import name 'app',以异步发送邮件为例

    百度了大半天,不知道怎么搞,直到学习了blinker才想到解决办法,因为之前写java都是文件分开的, 所以发送邮件业务代码也放到view里面,但是异步线程需要使用app,蛋疼的是其他模块不能从app ...

  8. Percona-XtraDB-Cluster-57 安装操作记录

    一.PXC集群的一些特性 Percona官网服务器位于境外,访问很困难.本次安装使用的是其官网提供的最新版本5.7.23-31.31.1.el7,当前日期为2018.10.10. PXC集群中,存储引 ...

  9. JVM性能分析 | 一次生产系统Full GC问题分析与排查总结

    一次生产系统Full GC问题分析与排查总结 背景 最近某线上业务系统生产环境频频CPU使用率过低,频繁告警,通过重启可以缓解,但是过了一段时间又会继续预警,线上两个服务节点相继出现CPU资源紧张,导 ...

  10. vue2.x中使用三元表达式绑定class的时候遇到的坑

    这个确实是个坑,而且是来自文档的坑. 首先先看文档对这个的解释: 从实际的代码书写上,文档中的写法,vs code没报错,但是浏览器报了一堆的错. 我试了很多遍,发现类名必须是要用引号引起来,页面上语 ...