主从复制是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. test api formdata

  2. 以其他控制器为目标 在视图中生成输出URL

    结果呢:<a href="/Admin">This targets another controller</a>

  3. 创建dynamics CRM client-side (三) - Execution Context

    Execution Context 在代码执行的时候定义了event  context. 当form或者grid发生event时候传递了execution context. 可以在event hand ...

  4. Python3之MySQL操作

    1.安装pymysql PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,在使用之前需要进行安装,可以使用以下命令安装最新版的 PyMySQL: 1).在cmd命令 ...

  5. Basic Thought / Data Structure: 差分 Difference

    Intro: 作为查询界的\(O(1)\)王者--前缀和的亲兄弟,差分,他可是修改界的\(O(1)\)王者 Prerequisite knowledge: 前缀和 Function: 仅单次询问的区间 ...

  6. JavaScript 注意

    字符串常用方法: 除.length外 都要加括号  trimLeft   trimRight      L和R要大写. .charAt 类似索引,超出范围为空 ,注意 (At)大小写. 注意 1.st ...

  7. git---如何在远程某个分支的基础上新建分支

    问题场景 技术主管让你去再某个git分支上新建一个分支去做你的项目,那么如何在原远程分支的基础上新建自己的分支呢? 解决方法 按照以下命令敲即可 git branch newBranch //新建本地 ...

  8. java操作数组转list集合删除元素报错ConcurrentModificationException

    public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>( ...

  9. 脚本在Shell可以执行成功,放到crontab里执行失败

    一.背景 自己写了个监控MGR状态的脚本,直接在Linux的Shell环境下可以执行成功,但是只要放到crontab里执行,就失败,脚本内容如下 #!/bin/bash MAIL_ADDR=`cat ...

  10. C++内存管理笔记(一)

      C++内存分配的四个层面 : 四个层面的比较: 内存分配与释放的测试: ); //512 bytes free(p1); complex<int>* p2 = new complex& ...