mysql 主从复制优化、并行复制
实验环境:
server2 为 server3 的 master
server3 为 server1 的 master
即server1、2、3的身份如下:
server2:master
server3:master / slave
server2:slave
由于先前做过其他数据库实验,环境是server2为master, server1和server3为slave
实验操作:
server1、2、3配置文件修改如下:
- server2
- server3
- server1
- server3
mysql> grant replication slave on *.* to 'tutu'@'172.25.54.%' identified by '5820hhXM!@#';
Query OK, 0 rows affected, 1 warning (0.05 sec)
- server1
mysql> change master to master_host='172.25.54.3',master_user='tutu',master_password='5820hhXM!@#',master_auto_position=1;
Query OK, 0 rows affected, 2 warnings (0.17 sec)
若出现Slave_SQL_Running: No
(原因:数据不同步,
在 server3 上 reset msater;
server1 上 shop slave; –> reset slave; –>start slave;)
- server3
- server1
测试
- server2
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)mysql> create database test;
Query OK, 1 row affected (0.13 sec)mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
- server3 和 server1
- server2
mysql> use test;
Database changed
mysql> create table userlist (-> username varchar(15) not null,-> password varchar(25) not null);
Query OK, 0 rows affected (0.41 sec)mysql> desc userlist;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(15) | NO | | NULL | |
| password | varchar(25) | NO | | NULL | |
+----------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)mysql> insert into userlist values ('user1','147');
Query OK, 1 row affected (0.09 sec)mysql> insert into userlist values ('user2','258');
Query OK, 1 row affected (0.16 sec)mysql> insert into userlist values ('user3','369');
Query OK, 1 row affected (0.08 sec)mysql> select * from userlist;
+----------+----------+
| username | password |
+----------+----------+
| user1 | 147 |
| user2 | 258 |
| user3 | 369 |
+----------+----------+
3 rows in set (0.00 sec)mysql> Bye
[root@server2 ~]#
- server3 和 server1
注:bin log索引文件: /var/lib/mysql/mysql-bin.index
查看二进制日志:mysqlbinlog -vv –base64-output=DECODE-ROWS mysql-bin.000006 //-vv详细显示,–base64查看加密的数据
并行复制
- server3——单线程–>多线程工作
mysql> show processlist;
[root@server3 ~]# vim /etc/my.cnf
[root@server3 ~]# cat /etc/my.cnf | tail -n 11
server-id=3
log-bin=mysql-bin
log-slave-updatesgtid_mode=ON
enforce-gtid-consistency=true
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16
master_info_repository=TABLE
relay_log_info_repository=TABLE
relay_log_recovery=ON
[root@server3 ~]# /etc/init.d/mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]
[root@server3 ~]# mysql -p5820hhXM\!\@#
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.7.17-log MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show processlist;
+----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
| 1 | system user | | NULL | Connect | 58 | Slave has read all relay log; waiting for more updates | NULL |
| 2 | system user | | NULL | Connect | 60 | Waiting for master to send event | NULL |
| 3 | system user | | NULL | Connect | 83590 | Waiting for an event from Coordinator | NULL |
| 4 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 6 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 7 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 8 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 9 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 10 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 11 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 12 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 13 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 16 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 17 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 18 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 19 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 20 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 21 | system user | | NULL | Connect | 60 | Waiting for an event from Coordinator | NULL |
| 22 | tutu | server1:48836 | NULL | Binlog Dump GTID | 5 | Master has sent all binlog to slave; waiting for more updates | NULL |
| 23 | root | localhost | NULL | Query | 0 | starting | show processlist |
+----+-------------+---------------+------+------------------+-------+---------------------------------------------------------------+------------------+
20 rows in set (0.00 sec)
mysql 主从复制优化、并行复制相关推荐
- [inside]MySQL 5.7 并行复制实现原理与调优
MySQL 5.7并行复制时代 众所周知,MySQL的复制延迟是一直被诟病的问题之一,然而在Inside君之前的两篇博客中(1,2)中都已经提到了MySQL 5.7版本已经支持"真正&quo ...
- MySQL 5.7 并行复制实现原理与调优
转载:http://www.innomysql.net/article/16317.html Contents 1 MySQL 5.7并行复制时代 2 MySQL 5.6并行复制架构 3 MySQL ...
- Mysql 主从复制(AB复制)
Mysql 主从复制(AB复制) Mysql的主从复制又叫做AB复制,主要作用就是将主服务器上的数据及时复制到从服务器上,来实现数据的同步,这样做的好处有,在进行数据备份时,可以减轻主服务器的运行压力 ...
- mysql 多线程并行复制_【MySQL】开启并行复制
[MySQL]开启并行复制 一.介绍 在官方的 5.6 版本之前,MySQL 只支持单线程复制,由此在主库并发高.TPS 高时就会出现严重的主备延迟问题. 如果备库执行日志的速度持续低于主库生成日志的 ...
- mysql 5.6 并行复制_MySQL 5.6并行复制架构
诚然,MySQL 5.6版本也支持所谓的并行复制,但是其并行只是基于schema的,也就是基于库的.如果用户的MySQL数据库实例中存在多个schema,对于从机复制的速度的确可以有比较大的帮助.My ...
- MySQL 5.7 并行复制参数优化
mysql 并行同步原理图如上. Enhanced Multi-Threaded Slave配置 要开启enhanced multi-threaded slave其实很简单,只需根据如下设置: sla ...
- 谈谈MySQL的WriteSet并行复制
[历史背景] 岁月更迭中我已经从事MySQL-DBA这个工作三个年头,见证MySQL从"基本可用","边缘系统可以用MySQL","哦操!你怎么不用M ...
- 阿里RDS开发专家解析MySQL各版本并行复制
MySQL并行复制已经是老生常谈,我从2010年开始就着手处理线上这个问题,刚开始两三年也乐此不疲地分享.现在再提这个话题有点"炒冷饭"的感觉.然而,又把它拎出来谈,是因为有些同学 ...
- mysql writeset_浅析MySQL的WriteSet并行复制
[历史背景] 岁月更迭中我已经从事mysql-dba这个工作三个年头,见证mysql从"基本可用","边缘系统可以用mysql","哦操!你怎么不用m ...
最新文章
- python 天气预报
- 中序遍历的模板(以及变形更新中。。。)
- java泛型解析(转)
- 数学建模 非线性规划原理的应用与编程实现
- 删除当前文件夹下特定名称文件
- 学好Java的八个条件
- 相约金陵丨7月9日,云和恩墨大讲堂 · 南京站邀您共论数字化转型实践
- HDU1205 吃糖果【水题】
- 【2019杭电多校第七场1010=HDU6655】Just Repeat(思维)
- 收尾过程组-项目管理
- bootstrap datepicker 在bootstrap modal中不显示问题
- 【NiosII训练】第二篇、FPGA驱动AD9854高级篇
- Unity引擎与Cocos引擎的区别
- 华为 、锐捷、新华三、睿易网络设备怎么选
- 【得物技术】如何测试概率性事件 - 二项分布置信区间
- 自控力读书笔记:第三章 累到无力抵抗:为什么自控力和肌肉一样有极限?
- 零基础而且英语不好可以学java吗
- 黎曼流形学习的学习笔记(2):Neural Ordinary Differential Equations(来源:NIPS 2018 oral) (未完待续)
- 《绝版游戏之地心护核者》
- 22-07-04 西安 尚好房(01)项目经验总结