主从同步概念

主从同步是异步复制


Mysql两种复制类型:

基于二进制日志

使用GTID完成基于事务的复制

基于日志三种方式:


Mysql5.7需要注意的问题: 老版本方法创建mysql用户
#mysql5.7之前版本,新建并赋权限
grant replication slave on *.* to 'dba'@'192.168.25.%' identified by '';

查看警告

show warnings;之后发现这个创建用户的方法已经被抛弃,将来版本可能被移除

删除mysql用户

drop user 'dba'@'192.168.25.%';

查看mysql中的用户

select user,host from mysql.user;

新建用户

在master服务器上新建用户,登录mysql后执行以下语句

create user 'dba'@'192.168.25.%' identified by '';   #新建用户,允许登录的ip地址段:192.168.25.% 用户名:dba 密码:123456
grant replication slave on *.* to dba@'192.168.25.%'; #赋权限

备份Master数据

首先vi /etc/my.cnf添加如下两行

log-bin=mysql-bin
server-id=4

cd /tmp    #备份到tmp文件夹下
#备份到文件all.sql
mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p -h 192.168.25.4 > all.sql

将备份的all.sql复制到从服务器上

scp all.sql [root@]192.168.25.5:\tmp[\all.sql]

Slaver数据库备份数据还原

mysql -uroot -p -h 192.168.25.5 < all.sql

主从配置

more all.sql

登录后执行以下语句

 change master to master_host='192.168.25.4',    #主服务器ip
master_user='dba', #主服务器建的主从复制mysql用户
master_password='', #主从复制用户名密码
master_log_file='mysql-bin.000005', #mysqldump的备份文件中有
master_log_pos=129058; #mysqldump的备份文件中有

这就完成了主从复制的配置,查看主从配置

show slave status \G;

发现Slave_IO_Running和Slave_SQL_Running进程都没有启动,启动进程

start slave;

如果某个进程启动失败,查看Last_IO_Error会有提示(例如:防火墙开了连接不上,虚拟机克隆mysql的pid一样需要重新initialize等)

主从同步属性

配置好主从同步后会多一个数据库performance_schema

一下表为主要从数据库配置表

连接从数据库,查看从服务器replication_applier_configuration表配置

select * from replication_applier_configuration;

改变同步延迟

stop slave;

change master to master_delay=3600;

start slave;

查看主从同步延迟,为3600秒

查看配置表   select * from replication_applier_configuration;

查看slave状态   show slave status /G;

配置好后查看状态

select * from replication_applier_status;

连接mycat插入操作,会发现主数据库有,从数据库并没有,再次查看表replication_applier_status

多线程复制replication_applier_status_by_coordinator,因为不存在多线程,所以无数据。

查看正在工作的线程,这里只有一条。

查看进程列表

查看连接配置表(即一开始配置的change master属性)

select * from replication_connection_configuration \G;

查看连接状态

select * from replication_connection_status \G;

Mysql5.7基于日志主从复制的更多相关文章

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

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

  2. Mysql5.7基于日志转为基于事务主从复制

    将基于日志的复制变更为基于事务的复制 mysql版本要高于5.7.6 gtid_mode要设为off 处理步骤 详细步骤 1.查看主从mysql版本是否高于5.7.6 show variables l ...

  3. MySQL5.6主从复制搭建基于日志(binlog)

    什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...

  4. MySQL5.7基于binary log的主从复制

    MySQL5.7基于binary log的主从复制 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 基于binary log 的复制是指主库将修改操作写入binary log 中, ...

  5. (转)MySQL 主从复制搭建,基于日志(binlog

    原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...

  6. MySQL5.6基于GTID的主从复制配置

    全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性. GTID实际上是由UUID+TID组成的.其中UUID是一个MySQL实例的唯一标 ...

  7. Mysql基于GTID主从复制

    Mysql5.6基于GTID全局事务的复制 什么是GTID?   GTID(Global Transaction Identifiers)是全局事务标识 当使用GTIDS时,在主上提交的每一个事务都会 ...

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

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

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

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

随机推荐

  1. Selenium+Python学习之一

    刚入门selenium+Python,实验成功之后,记录一下过程. 首先是在知乎上面看到一个关于selenium+python的示例,于是自己便尝试搭建环境上手实验. 按照作者的代码敲一遍之后执行,竟 ...

  2. TensorFlow学习笔记(六)循环神经网络

    一.循环神经网络简介 循环神经网络的主要用途是处理和预测序列数据.循环神经网络刻画了一个序列当前的输出与之前信息的关系.从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出. ...

  3. Django-RestFrameWork之分页 视图 路由 渲染器

    目录 一.分页 二.视图 三.路由 四.渲染器 一.分页 试问如果当数据量特别大的时候,你是怎么解决分页的? 方式a.记录当前访问页数的数据id 方式b.最多显示120页等 方式c.只显示上一页,下一 ...

  4. Ajax跨域请求 同源策略与Jsonp

    同源策略 同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在同源策略基础之上的 ...

  5. PKU 1201 Intervals(差分约束系统+Spfa)

    题目大意:原题链接 构造一个集合,这个集合内的数字满足所给的n个条件,每个条件都是指在区间[a,b]内至少有c个数在集合内.问集合最少包含多少个点.即求至少有多少个元素在区间[a,b]内. 解题思路: ...

  6. vux在ISO中异常 this.$vux.confirm.show

    在按钮事件中调用this.$vux.confirm.show,并且启用按钮的show-loading属性 安卓正常,ios中弹窗无法显示 经过排查,iso中设置按钮的loading后,要用异步setT ...

  7. Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页

    Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...

  8. 关于MVC 上传文件

    前台代码如下 @{ Layout = null; } <!DOCTYPE html> <html> <head> <title>Index</ti ...

  9. 一篇关于cfDNA的综述

    文章题目:A Field Guide for Cancer Diagnostics using cell-free DNA: from Principles to Practice and Clini ...

  10. 20145231熊梓宏《网络对抗》逆向及Bof基础

    20145231网络对抗<逆向及Bof基础> 实验目的与要求 1.本次实践的对象是一个名为pwn1的linux可执行文件. 2.若该程序正常执行,则main函数会调用foo函数,foo函数 ...