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默认的主从复制方式,其实是异步复制. 主库实际上并不关心从库是否把数据拉完没有, ...
随机推荐
- linux 目录与文件命令
目录与文件常用命令 1.cd命令 cd [相对路径或绝对路径或特殊符号] 功用:变换目录 ps: 不加参数时,默认切换到用户主目录,即环境变量HOME指定的目录,如root用户的HOME变量为/roo ...
- list_for_each_entry解析
双向链表及链表头: 建立一个双向链表通常有一个独立的用于管理链表的链表头,链表头一般是不含有实体数据的,必须用INIT_LIST_HEAD()进行初始化,表头建立以后,就可以将带有数据结构的实体链表成 ...
- .def文件如何编写
DLL中导出函数的声明有两种方式:一种为在函数声明中加上__declspec(dllexport),这里不再举例说明:另外一种方式是采用模块定义(.def) 文件声明. 规则是:1.首先创建 一个DL ...
- 查看Oracle相关日志 ADRCI
ADRCI 进去以后 show home
- 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连
在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...
- The Cheap KD 10 design is not too far of a departure
Kevin Durant's Cheap KD 10 have to do with to determine the greatest spotlight they have seen around ...
- gitHub新项目的上传
github作为一个开源托管平台,除了有机会学习各位大神的开源项目,还能托管自己写的一些小Demo,作为github新进菜鸟,今天就整理下上传Demo所需的命令和操作步骤,防止我这谜一样的记忆力. 1 ...
- hadoop开发setjar方法
屏蔽 //job.setJar("/Users/sumeng/IdeaProjects/cloudHadoop/out/artifacts/cloudHadoop_jar/cloudHado ...
- vue我的总结+转原理
我的总结 vue:1 mvvm模型,model,view,viewmodel,自底层向上,逐渐增加的模式2 .vue文件 包含html css js 有最近设计原则,将自己需要的放到最近,2 组件化 ...
- LRU算法---缓存淘汰算法
计算机中的缓存大小是有限的,如果对所有数据都缓存,肯定是不现实的,所以需要有一种淘汰机制,用于将一些暂时没有用的数据给淘汰掉,以换入新鲜的数据进来,这样可以提高缓存的命中率,减少磁盘访问的次数. LR ...