一、背景介绍
在实际应用中,可能遇到多个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技术站