Centos7 Mysql 5.6 多主一从 解决方案与详细配置

一、背景介绍

在实际应用中,可能遇到多个Mysql数据库需要同时用于读写操作,这时候就需要多主配置。同时,为了提高数据可用性,在多主的情况下还需要加入从库进行备份。本文将介绍如何在CentOS7环境下,使用Mysql 5.6版本进行多主一从配置。

二、解决方案

1.多主一从模式

多主一从是最常用的Mysql集群模式之一。在多主模式下,用户可以通过任何一个节点进行数据的读写操作。在一定程度上解决了单点故障问题。而从库则是用于数据备份的,当主库出现故障时,可以快速地切换到从库上。

2.配置环境

本文的实验环境为:

Mysql版本:5.6.47

操作系统:CentOS Linux release 7.8.2003

在环境中,需要安装Mysql主从同步的插件——repmgr。

3.配置步骤

3.1、安装Mysql

首先,我们需要安装Mysql,并保证其正常运行。在CentOS7系统上,安装Mysql的命令为:

yum install mysql-server mysql mysql-devel -y

安装完成后,使用如下命令启动Mysql:

systemctl start mysqld.service

3.2、创建主库和从库

由于本文中使用的是两台机器进行测试,所以需要分别在两台机器上创建主库和从库。

主库创建命令:

create database test;
use test;
create table stu(id int(4), name varchar(20));
insert into stu values(1, 'Tom');
insert into stu values(2, 'Jim');
insert into stu values(3, 'Jane');

从库创建命令:

stop slave;
change master to master_host='IP地址', master_port=3306, master_user='用户名', master_password='密码', master_log_file='mysql-bin.xxx', master_log_pos=文件偏移量;
start slave;

3.3、配置repmgr

在Master1、Master2、Slave三个节点上,进行软件的安装和配置。

安装repmgr:

yum install repmgr -y

在每个节点上,都需要进行如下操作:

(1)创建repmgr用户,用于主从同步:

create user repmgr identified by '密码';

(2)在主库上,执行如下命令:

pg_ctl restart -D /path/to/data 

repmgr -f /etc/repmgr.conf --daemonize

(3)在从库上,执行如下命令:

pg_ctl restart -D /path/to/data 
repmgr -f /etc/repmgr.conf --daemonize 
repmgr standby clone -U repmgr -D /path/to/data -l /var/log/postgresql/repmgr.log --fast-checkpoint

(4)在从库上,执行如下命令:

repmgr standby register -U repmgr -D /path/to/data -h 主库IP地址 -p 5432 --verbose

(5)在一个主库上新增一条数据,可以在其他主库和从库上查看到新增的数据。

三、示例说明

1.在两台主库中添加数据,可以在任何一个主库和从库上查看到新增的数据。

Master 1:
insert into stu values(4, 'Lily');

Master 2:
insert into stu values(5, 'Jerry');

Slave:
select * from stu;

2.在主库1上的数据发生变化时,可以在所有的主库和从库上查看到数据的变化。

Master 1:
update stu set name='Jack' where id=1;

Master 2:
select * from stu;

Slave:
select * from stu;

以上就是关于CentOS7 Mysql 5.6 多主一从 解决方案与详细配置的攻略,希望对读者有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7 Mysql 5.6 多主一从 解决方案与详细配置 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • DBCC CHECKIDENT 重置数据库标识列从某一数值开始

    当我们在数据库表中使用自增长的标识列时,如果我们不小心删除了表中的一些数据,那么下一个插入的数据行将从被删除的数据行ID编号的下一个数字开始增长,这通常会导致标识列值的空洞,而且可能导致我们的应用程序无法正确地使用表中的数据行。在这种情况下,重置数据库标识列可能是一个不错的选择。在SQL Server中,我们可以使用下面的DBCC CHECKIDENT命令来…

    database 2023年5月21日
    00
  • XAP和Virtuoso的区别

    XAP和Virtuoso都是用于数据管理的开源软件系统,二者的主要区别在于XAP是一个统一的实时数据网格系统,而Virtuoso则是一个通用的数据管理系统。 XAP是一种分布式云数据网格系统,它可以管理来自多个数据源的数据,并让多个应用程序可以透明地访问这些数据。XAP具有自适应、高可用性和高性能的特性,它可以扩展以支持大规模的数据和用户。XAP还包含了许多…

    database 2023年3月27日
    00
  • mysql like查询字符串示例语句

    以下是完整的攻略: 什么是mysql like查询 MySQL提供了LIKE查询语句来进行字符串模糊匹配。LIKE语句语法如下: SELECT column1, column2, column3, … FROM table_name WHERE columnN LIKE pattern; 其中,columnN为要查询的列名,pattern是用来匹配的字符…

    database 2023年5月22日
    00
  • MySQL系列之三 基础篇

    MySQL系列之三 基础篇 一、概述 MySQL是一种关系型数据库管理系统,是最流行的开源数据库之一。在本篇基础篇教程中,我们将介绍MySQL的基础知识,包括创建表、插入数据、查询数据、更新数据、删除数据等操作。 二、创建表 在使用MySQL之前,需要先创建数据库和表。以下是创建表的基本语法: CREATE TABLE table_name ( column…

    database 2023年5月22日
    00
  • Mysql添加联合唯一索引及相同数据插入报错问题

    添加联合唯一索引可以保证数据库中指定的列组合唯一,防止重复数据的插入。在MySQL中添加联合唯一索引的方法如下: 在表创建时添加联合唯一索引: CREATE TABLE example ( id INT NOT NULL, name VARCHAR(255) NOT NULL, age INT NOT NULL, UNIQUE KEY idx_example…

    database 2023年5月22日
    00
  • wordpress 网站转移服务器操作的两种方法

    下面是详细的攻略过程,包含两条示例说明: 一、使用文件传输协议(FTP)转移 FTP是最常用的服务器之间文件传输的协议。如果您的服务器在互联网上开放FTP访问权限,可以使用FTP将您的WordPress网站从一个服务器转移到另一个服务器。 备份网站数据:在操作过程中可能会导致数据丢失或损坏,提前备份您的整个WordPress文件夹和数据库。 在新的服务器上安…

    database 2023年5月22日
    00
  • DBMS 中的传递依赖

    DBMS 中的传递依赖指的是在一个关系模式中,如果存在一个函数依赖 A -> B,同时存在另一个函数依赖 B -> C,则我们可以推出一个传递依赖 A -> C。通过这种传递依赖,我们可以更加方便地对关系中数据的查询和操作。 详细的过程如下: 确定存在两个函数依赖 A->B 和 B->C,其中 A、B、C 是关系模式中的属性。 …

    database 2023年3月27日
    00
  • 如果redis没有设置expire,他是否默认永不过期?

    通过EXPIRE key seconds 命令来设置数据的过期时间。返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间。在key上设置了过期时间后key将在指定的秒数后被自动删除。被指定了过期时间的key在Redis中被称为是不稳定的。 Redis key过期的方式有三种: 惰性删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部