mysql搭建主从复制(一主一从,双主双从)(代码片段)

执笔记忆的空白 执笔记忆的空白     2022-12-08     287

关键词:

主从复制原理

Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定的位置开始复制主服务器所进行修改的语句到从服务器上执行一遍。

流程图

2|0搭建一主一从 

 

2|1 前期环境准备

 

Linux:centos7
mysql版本:mysql5.7(安装教程:https://blog.csdn.net/weixin_45797918/article/details/104929127
主服务器:10.10.10.130
从服务器:10.10.10.133

2|2修改配置文件

 

主机配置

 

vim /etc/my.cnf

添加配置

 #主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT

从机配置

 

vim /etc/my.cnf

添加配置

 #从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

2|3配置主机

 

 在主机MySQL里执行授权命令

 

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

 查询master的状态

 

show master status;

 #记录下File和Position的值
#执行完此步骤后不要再操作主服务器MySQL,防止主服务器状态值变化

2|4配置从机

 

在主机MySQL里执行

 

CHANGE MASTER TO MASTER_HOST='10.10.10.130', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;

 CHANGE MASTER TO MASTER_HOST=‘主机的IP地址’,
MASTER_USER=‘slave’,
MASTER_PASSWORD=‘123456’,
MASTER_LOG_FILE=‘mysql-bin.具体数字’,MASTER_LOG_POS=具体值;

启动从服务器复制功能

 

start slave;

查看从服务器状态

 

show slave status\\G;

2|5测试一主一从

 

主机创建testdb数据库和表user

 

从机直接刷新

3|0搭建双主双从

 

3|1前期环境准备

 

Master1:10.10.10.130
Slave1:10.10.10.133
Master2:10.10.10.134
Slave2:10.10.10.135

3|2停止一主一从(没有启动的跳过)

 

从机上执行

 

stop slave;

重设

 

reset slave;

删除主机从机testdb数据库

3|3修改配置文件

 

编辑Master1

修改配置文件,添加

 

vim /etc/my.cnf

 #主服务器唯一ID
server-id=1
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT
#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 … 65535
auto-increment-increment=2
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 … 65535
auto-increment-offset=1

编辑Master2

修改配置文件,添加

 

vim /etc/my.cnf

 #主服务器唯一ID
server-id=3
#启用二进制日志
log-bin=mysql-bin
#设置不要复制的数据库(可设置多个)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
#设置需要复制的数据库
binlog-do-db=需要复制的主数据库名字
#设置logbin格式
binlog_format=STATEMENT
#在作为从数据库的时候,有写入操作也要更新二进制日志文件
log-slave-updates
#表示自增长字段每次递增的量,指自增字段的起始值,其默认值是1,取值范围是1 … 65535
auto-increment-increment=2
#表示自增长字段从哪个数开始,指字段一次递增多少,他的取值范围是1 … 65535
auto-increment-offset=2

编辑Slave1

修改配置文件,添加

 

vim /etc/my.cnf

 #从服务器唯一ID
server-id=2
#启用中继日志
relay-log=mysql-relay

编辑Slave2

修改配置文件,添加

 

vim /etc/my.cnf

 

#从服务器唯一ID server-id=4 #启用中继日志 relay-log=mysql-relay

3|4Master1、Master2授权slave并查看状态

 

Master1主机

MySQL里执行授权命令

 

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

Master1

 

show master status;

 Master2主机

MySQL里执行授权命令

 

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY '123456';

Master1

 

show master status;

3|5启动双主双从

 

Slave1

执行

 

CHANGE MASTER TO MASTER_HOST='10.10.10.130', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=766;

启动两台从服务器复制功能

 

start slave;

查看从服务器状态

 

show slave status\\G;

 Slave2

执行

 

CHANGE MASTER TO MASTER_HOST='10.10.10.134', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;

启动两台从服务器复制功能

 

start slave;

查看从服务器状态

 

show slave status\\G;

两个主机互相复制

Master2

执行

 

CHANGE MASTER TO MASTER_HOST='10.10.10.130', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=766;

启动两台从服务器复制功能

 

start slave;

查看从服务器状态

 

show slave status\\G;

Master1

执行

 

CHANGE MASTER TO MASTER_HOST='10.10.10.134', MASTER_USER='slave', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154;

启动两台从服务器复制功能

 

start slave;

查看从服务器状态

 

show slave status\\G;

 #复制主机的命令
CHANGE MASTER TO MASTER_HOST=‘主机的IP地址’,
MASTER_USER=‘slave’,
MASTER_PASSWORD=‘123456’,
MASTER_LOG_FILE=‘mysql-bin.具体数字’,MASTER_LOG_POS=具体值;

3|6测试双主双从

 

在Master1创建数据库testdb

其他三个数据库刷新查询出现testdb数据库

在Master2创建user表

其他上数据库刷新出现user表

部署:单主部署一主一从部署双主双从部署代码测试(代码片段)

一.RocketMQ单机部署Hosts添加信息我们首先进入/etc/hosts来添加信息vim/etc/hosts添加信息如下: 上传解压安装包 通过XFTP工具将apache-rocketmq.tar.gz传到/usr/local/software,然后添加/usr/local/apache-rocketmq目录,再将apache-rocketmq.ta 查看详情

mycat学习第二天之性能监控,读写分离,集群搭建(代码片段)

...at-web之MySQL性能监控指标1.5Mycat-web之SQL监控2.MyCat读写分离搭建2.1MySQL主从复制原理2.2MySQL一主一从搭建2.3MyCat一主一从读写分离2.4MySQL双主双从搭建2.5MyCat双主双从读写分离3.Mycat集群搭建 查看详情

17rocketmq集群双主双从同步搭建(代码片段)

基于前面一主一从同步搭建我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;同步消息保证消息不丢失,异步刷盘提高吞吐量;我们VM里再克隆两台机器;192.168.0.110机器作为m1主节点192.168.0.103... 查看详情

17rocketmq集群双主双从同步搭建(代码片段)

基于前面一主一从同步搭建我们企业级开发,一般采用的是双主双从同步,以及异步刷盘;同步消息保证消息不丢失,异步刷盘提高吞吐量;我们VM里再克隆两台机器;192.168.0.110机器作为m1主节点192.168.0.103... 查看详情

4读写分离---双主双从(mycat)(代码片段)

...唯一IDserver-id=1##启用二进制日志log-bin=mysql-bin##设置不要复制的数据库(可设置多个)binlog-ignore-db=mysql##binlog-ignore-db=information_schema##设置需要复制的数据库binlog-do-d 查看详情

mysql主从复制原理及一主一从搭建过程—2023.04(代码片段)

...4、主从复制形式5、主从复制主要用途二、MySQL一主一从搭建1、准备工作2、MySQL主从复制部署流程1.关闭防火墙,两台主机都操作2.修改配置文件,两台主机都操作3.修改主节点配置文件,主节点操作4.修改从节点配置文件,从节... 查看详情

mysql主从复制的简单搭建(代码片段)

文章目录1、MySQL一主一从的简单搭建1.1、主从复制简介1.2、MySQL主从复制简介1.3、主从复制的架构1.4、前期准备1.5、主要配置实现1.5.1、测试环境1.5.2、配置my.cnf文件1.5.3、启动mysql测试1.5.4、配置主从结构1.5.4.1、主服务器配置1.5.4... 查看详情

mysql主从复制的简单搭建(代码片段)

文章目录1、MySQL一主一从的简单搭建1.1、主从复制简介1.2、MySQL主从复制简介1.3、主从复制的架构1.4、前期准备1.5、主要配置实现1.5.1、测试环境1.5.2、配置my.cnf文件1.5.3、启动mysql测试1.5.4、配置主从结构1.5.4.1、主服务器配置1.5.4... 查看详情

3读写分离---一主一从(mycat)(代码片段)

通过Mycat和MySQL的主从复制配合搭建数据库的读写分离,实现MySQL的高可用性 一主一从mysql的配置一个主机用于处理所有写请求,一台从机负责所有读请求 ①MySQL主从复制原理从从机的接入点开始复制数据发生IO会有延时性... 查看详情

rocketmq4.5.1双主双从异步复制环境搭建(代码片段)

基础环境操作系统:CentOS7实例:192.168.63.129,192.168.63.130,192.168.63.131,192.168.63.132Java:jdk-8u191-linux-x64.tar.gz安装JDK先把系统里面自带的卸载掉 [[email protected]soft]#rpm-qa|grepjavapython-javapackages-3.4. 查看详情

主从复制:主从复制的概述一主一从架构搭建主从复制的原理同步数据一致性问题(代码片段)

...剖析2.2复制的最大问题2.3复制的基本原则3.一主一从架构搭建3.1准备工作3.2主机配置文件3.3从机配置文件3.4建立账户并授权3.5配置需要复制的主机3.6测试3.7停止主从同步4.同步数据一致性问题4.1理解主从延迟问题4.2解决一致性问... 查看详情

使用多实例进行主从复制实践案例(一主一从)

环境:多实例10.0.0.52330610.0.0.5233073306---->3307复制---->3309   ---->3008复制3306<---->3307 架构实践:3306---->33071开启主库binlog,配置server-id[[email protected]~]#egrep-i"se 查看详情

从理论到实战,彻底搞懂mysql主从复制原理(代码片段)

文章目录前言常见主从架构模式单向主从双向主从级联主从多主一从主从原理基于语句复制(STATEMENT)基于行复制(ROW)混合模式(MIXED)主从实战一主一从双向主从级联主从多主一从半同步复制实战GTID前... 查看详情

rocketmq-双主双从集群+dashborad搭建(云服务器)(代码片段)

文章目录一、理论垫基础1.NameServer集群2.Producer集群3.Consumer集群4.Broker集群4.1节点间数据同步以及消息的持久化4.2Broker的集群模式4.2.1、单Master模式4.2.2、多Master模式4.2.3、多Master多Slave模式-异步复制4.2.4、多Master多Slave模式-同步双... 查看详情

16rocketmq集群一主一从同步搭建(代码片段)

基于前面的单机模式,我们VM里面克隆一下系统;192.168.0.110机器作为主节点192.168.0.103机器作为从节点配置项要点:brokerClusterName集群名称一样;brokerName同一组主从节点名称一样;brokerId为0表示Master主节点,... 查看详情

如何保证主从复制数据一致性

导读MySQL主从复制环境中,如何才能保证主从数据的一致性呢?关于主从复制现在常用的MySQL高可用方案,十有八九是基于MySQL的主从复制(replication)来设计的,包括常规的一主一从、双主模式,或者半同步复制(semi-syncreplicatio... 查看详情

mysql主从复制的简单搭建(代码片段)

文章目录1、MySQL一主一从的简单搭建1.1、主从复制简介1.2、MySQL主从复制简介1.3、主从复制的架构1.4、前期准备1.5、主要配置实现1.5.1、测试环境1.5.2、配置my.cnf文件1.5.3、启动mysql测试1.5.4、配置主从结构1.5.4.1、主服务器配置1.5.4... 查看详情

mysql数据库运维之主从复制搭建(代码片段)

上篇文章详细介绍了MySQL数据库的单机多实例搭建,本篇文章将在上篇文章的基础上介绍MySQL主从复制过程,其中常见的复制架构有:异步复制,半同步复制及同步复制。常用的复制架构有异步复制及半同步复制!一、常见的复... 查看详情