Mysql5.7基于日志主从复制
主从同步概念
主从同步是异步复制
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基于日志主从复制的更多相关文章
- Centos7.5部署MySQL5.7基于GTID主从复制+并行复制+半同步复制+读写分离(ProxySQL) 环境- 运维笔记 (完整版)
之前已经详细介绍了Mysql基于GTID主从复制的概念,原理和配置,下面整体记录下MySQL5.7基于GTID主从复制+并行复制+增强半同步复制+读写分离环境的实现过程,以便加深对mysql新特性GT ...
- Mysql5.7基于日志转为基于事务主从复制
将基于日志的复制变更为基于事务的复制 mysql版本要高于5.7.6 gtid_mode要设为off 处理步骤 详细步骤 1.查看主从mysql版本是否高于5.7.6 show variables l ...
- MySQL5.6主从复制搭建基于日志(binlog)
什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟 ...
- MySQL5.7基于binary log的主从复制
MySQL5.7基于binary log的主从复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 基于binary log 的复制是指主库将修改操作写入binary log 中, ...
- (转)MySQL 主从复制搭建,基于日志(binlog
原文:http://blog.jobbole.com/110934/ 什么是MySQL主从复制 简单来说,就是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数 ...
- MySQL5.6基于GTID的主从复制配置
全局事务标示符(Global Transactions Identifier)是MySQL 5.6复制的一个新特性. GTID实际上是由UUID+TID组成的.其中UUID是一个MySQL实例的唯一标 ...
- Mysql基于GTID主从复制
Mysql5.6基于GTID全局事务的复制 什么是GTID? GTID(Global Transaction Identifiers)是全局事务标识 当使用GTIDS时,在主上提交的每一个事务都会 ...
- 关于MySQL5.7开启bin-log主从复制
主从复制:一般用于实时备份.也可配合mycat,实现读写分离. 传统的基于 ROW的主从复制 简单说下步骤: master主库配置同步,slave从库配置同步,master锁表/备份,slave恢复数 ...
- 关于Mysql5.6半同步主从复制的开启方法【转】
介绍 先了解一下mysql的主从复制是什么回事,我们都知道,mysql主从复制是基于binlog的复制方式,而mysql默认的主从复制方式,其实是异步复制. 主库实际上并不关心从库是否把数据拉完没有, ...
随机推荐
- vim高亮显示文本
行列高亮设置 • 行高亮 " 设置高亮行的颜色,ctermbg设定背景色,ctermfg设定前景色 set cursorline hi CursorLine cterm=NONE cterm ...
- python全栈开发从入门到放弃之装饰器函数
什么是装饰器#1 开放封闭原则:对扩展是开放的,对修改是封闭的#2 装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象#3 目的:''' 在遵循 1. 不修改被装饰对象的源代码 2. ...
- [笔记]Delphi 2007写DLL供VC调用实例
考虑如下几种常用情况: - VC传入int,返回int- VC传入char *,返回int- VC传入char *,返回char *及int 为简化问题,传递的字符串参数只考虑ANSI格式,不考虑UN ...
- windows 下安装 rabbitmq报init terminating in do_boot错误
好长时间没有写东西了,记一个安装笔记吧. 目前市面上比较常用的几个消息中间件,rabbitmq算是风评比较好的,所以就拿来安装一下玩玩喽(很有可能也仅限于是安装一下....)安装过程不表,无非是下载E ...
- nginx日志输出,https,ssl
日志输出(浏览器直接访问)缺省安装下,浏览器是无法访问日志的,需要在编译的时候附带参数安装这些模块 ./configure --prefix=/usr/local/nginx --with-http_ ...
- $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)
vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...
- PHP jsonencode 已经json中包含 汉字的处理
<?php $arr = array ( 'Name'=>'希亚', ); $jsonencode = json_encode($arr); echo $jsonencode; ?> ...
- spring手动配置
本文总结自:https://www.cnblogs.com/V1haoge/p/7183408.html SpringBoot中免除了大部分配置,但是对于一些特定的情况,还是需要我们进行手动配置的. ...
- 20145211 《网络渗透》MS08_067安全漏洞
20145211 <网络渗透>MS08_067安全漏洞 一.实验原理 ms08_067是服务器服务中一个秘密报告的漏洞,于2008年被发现.攻击者利用靶机默认开放的SMB服务的445端口, ...
- Ubuntu 设置为固定ip
vmware设置为桥接模式 使用root登陆ubuntu 使用gedit打开/etc/network/interfaces auto lo iface lo inet loopback auto en ...

