Centos 7 下基于mariadb -10.2.32级联复制搭建

news/2024/7/4 7:00:19

背景:
之前完成了一主一从的 MariaDB 主从复制架构,但是有的时候,可能期望有一个后备的 MariaDB 节点,
只用作备份存储数据,不需要对外提供服务。为了实现该功能,我们可以在之前的一主一从架构上进行调整,
即将从节点Slave1(192.168.32.17)的二进制日志文件打开,然后给它配置一个远程同步数据用户,
接着使用一台新的服务器做为从服务器的Slave2,同步从服务器的数据即可

准备条件:
三台主机都安装了10.2.32-MariaDB 版本必须一样
三台主机
一台主服务器(192.168.6.129) master
一台级联从服务器(192.168.6.130) slave1
一台备用的从服务器(192.168.6.131) slave2
Reset slave all;
Stop slave;
Reset master
实验开始:

1.	在主服务器(192.168.6.129) 
配置 
vim /etc/my.cnf
[mysqld]
server-id=1
log-bin
mysql> grant replication slave on *.* to repluser@'192.168.6.%' identified by 'centos';
mysql>show master logs; 查看二进制文件

在这里插入图片描述

备份数据库
mysqldump -A --single-transaction --master-data=1  -F -uroot -p123456 > /data/all.sql

传送数据库备份文件到192.168.6.130 服务器上
scp /data/all.sql 192.168.6.130:/data/

2.	在级联从服务器上(192.168.6.130)
配置文件 vim /etc/my.cnf

server-id=2
log-bin
log_slave_updates   *非常重要的参数
read-only

重启数据库
Systemctl restart mariadb.server

修改 /data/all.sql 上的数据库备份文件

将CHANGE MASTER TO MASTER_LOG_FILE='Centos7-bin.000002', MASTER_LOG_POS=389; 修改成一下内容

vim /data/all.sql 
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='repluser',
MASTER_PASSWORD='centos',
MASTER_PORT=3306,
MASTER_LOG_FILE='Centos7-bin.000005',
MASTER_LOG_POS=389;  

导入修改好的数据库备份文件
mysql -uroot -p123456 < /data/all.sql

没启动start slave 之前

在这里插入图片描述
启动后
在这里插入图片描述

备份级联服务器上数据库
mysqldump -A --single-transaction --master-data=1  -F -uroot -p123456 > /data/all.sql
传送备份数据库文件给最后的服务器(192.168.6.131)

scp /data/all.sql 192.168.6.131:/data/


三:
在最后的服务器上(192.168.6.131)
修改配置文件 
Vim /etc/my.cnf
[mysqld]
server-id=3
read-only
重启数据库
Systemctl restart mariadb.server

修改 /data/all.sql 上的数据库备份文件

将CHANGE MASTER TO MASTER_LOG_FILE='Centos7-bin.000002', MASTER_LOG_POS=389; 修改成一下内容

vim /data/all.sql 
CHANGE MASTER TO
MASTER_HOST='级联从服务器IP ',
MASTER_USER='repluser',
MASTER_PASSWORD='centos',
MASTER_PORT=3306,
MASTER_LOG_FILE=' Centos7-bin.000005', MASTER_LOG_POS=389;  

导入修改好的数据库备份文件
mysql -uroot -p123456 < /data/all.sql

未启动之前
在这里插入图片描述
启动后:
在这里插入图片描述
注: 若遇到最后的服务器无法连接,可能是日志文件索引点导致的,可以通过
Stop slave;
Reset slave;
Start slave;
或者:
1.打开主服务器,进入mysql
2.执行flush logs;//这时主服务器会重新创建一个binlog文件;
3.在主服务上执行show master slave \G;显示如下:
4.来到从服务器的mysql;
5.stop slave;
6.change master to master_log_file=‘mysql-bin.000012’,master_log_pos=154;//这里的file和pos都是上面主服务器master显示的。
7.start slave;//这时候就应可以了
8.show slave status \G;

参考网址:
https://blog.csdn.net/weixin_45651006/article/details/103316771?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159617938219195162507691%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159617938219195162507691&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-1-103316771.pc_ecpm_v3_pc_rank_v3&utm_term=mariadb+级联复制&spm=1018.2118.3001.4187


http://www.niftyadmin.cn/n/2199354.html

相关文章

Centos 7.6基于MariaDB-server-10.2.32-1.el7 版本实现MHA高可用

背景&#xff1a; 该软件由两部分组成&#xff1a;MHA Manager&#xff08;管理节点&#xff09;和 MHA Node&#xff08;数据节点&#xff09;。MHA Manager 可以单独部署在一台独立的机器上管理多个 master-slave 集群&#xff0c;也可以部署在一台 slave 节点上。MHA Node 运…

数据库连接池

一、数据库连接池的原理 基本原理 对于一个简单的数据库应用&#xff0c;由于对于数据库的访问不是很频繁。这时可以简单地在需要访问数据库时&#xff0c;就新创建一个连接&#xff0c;用完后就关闭它&#xff0c;这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的…

腾讯云中矿机病毒 ld-linux-x86-64 处理过程

2019独角兽企业重金招聘Python工程师标准>>> 今天Wiki服务挂掉502&#xff0c;登录服务器查看, 双核CPU使用率几乎200% kill掉一会又重启 注意了 我的解决办法&#xff1a; 先杀死矿机进程 pkill -9 ld-linux 然后删除 mysql 用户 userdel -f mysql 查询没有可疑的定…

如何在 Linux 下乾坤大挪移?

2019独角兽企业重金招聘Python工程师标准>>> mv 也是 Linux 下一个使用频率非常高的命令&#xff0c;但除了一些基本用法&#xff0c;你还知道它的哪些高级用法呢? mv 也是 Linux 下一个使用频率非常高的命令&#xff0c;但除了一些基本用法&#xff0c;你还知道它…

Centos 7.6 下利用ansible自动化安装httpd服务

一、ansible简介   ansible是一款由python语言编写的一款自动化运维工具&#xff0c;它集合了众多运维工具&#xff08;puppet、cfengine、chef、func、fabric&#xff09;优点&#xff0c;实现了批量系统配置、批量程序部署、批量运行命令等功能。它的创始人&#xff0c;Mic…

[vue]div高度height:100%不生效

2019独角兽企业重金招聘Python工程师标准>>> 解决了&#xff01;除了设置app为100%template里第一个div就要100%https://segmentfault.com/a/1190000015789623https://blog.csdn.net/weixin_39973810/article/details/78549526 原理 App.vue// 高度百分百 html,body…

Httpd基础之搭建httpd服务器并提供两个基于名称的虚拟主机

说明 所谓虚拟主机不外乎就是一个物理主机上存在多个虚拟站点&#xff1b;通常httpd的虚拟主机有三类&#xff0c;分别是基于ip的虚拟主机、基于端口的虚拟主机以及基于FQDN的虚拟主机&#xff1b;不难理解基于ip的虚拟主机就是以不同IP来区分不同的虚拟主机&#xff1b;基于端…

JDK中的动态代理机制

定义 代理模式&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。 事例 小明是一个程序员&#xff0c;在公司负责项目的研发工作。有一天&#xff0c;客户打电话进来&#xff0c;沟通之后&#xff0c;原来客户是有个模块需求要变动一下。小明却没有应允&#xff0c;而…