主从同步概念

主从同步是异步复制


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. vim高亮显示文本

    行列高亮设置 • 行高亮 " 设置高亮行的颜色,ctermbg设定背景色,ctermfg设定前景色 set cursorline hi CursorLine cterm=NONE cterm ...

  2. python全栈开发从入门到放弃之装饰器函数

    什么是装饰器#1 开放封闭原则:对扩展是开放的,对修改是封闭的#2 装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象#3 目的:''' 在遵循 1. 不修改被装饰对象的源代码 2. ...

  3. [笔记]Delphi 2007写DLL供VC调用实例

    考虑如下几种常用情况: - VC传入int,返回int- VC传入char *,返回int- VC传入char *,返回char *及int 为简化问题,传递的字符串参数只考虑ANSI格式,不考虑UN ...

  4. windows 下安装 rabbitmq报init terminating in do_boot错误

    好长时间没有写东西了,记一个安装笔记吧. 目前市面上比较常用的几个消息中间件,rabbitmq算是风评比较好的,所以就拿来安装一下玩玩喽(很有可能也仅限于是安装一下....)安装过程不表,无非是下载E ...

  5. nginx日志输出,https,ssl

    日志输出(浏览器直接访问)缺省安装下,浏览器是无法访问日志的,需要在编译的时候附带参数安装这些模块 ./configure --prefix=/usr/local/nginx --with-http_ ...

  6. $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)

    vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...

  7. PHP jsonencode 已经json中包含 汉字的处理

    <?php $arr = array ( 'Name'=>'希亚', ); $jsonencode = json_encode($arr); echo $jsonencode; ?> ...

  8. spring手动配置

    本文总结自:https://www.cnblogs.com/V1haoge/p/7183408.html SpringBoot中免除了大部分配置,但是对于一些特定的情况,还是需要我们进行手动配置的. ...

  9. 20145211 《网络渗透》MS08_067安全漏洞

    20145211 <网络渗透>MS08_067安全漏洞 一.实验原理 ms08_067是服务器服务中一个秘密报告的漏洞,于2008年被发现.攻击者利用靶机默认开放的SMB服务的445端口, ...

  10. Ubuntu 设置为固定ip

    vmware设置为桥接模式 使用root登陆ubuntu 使用gedit打开/etc/network/interfaces auto lo iface lo inet loopback auto en ...