-
MariaDB Galera Cluster 集群介绍
- MariaDB Galera Cluster,是一套在MySQL innodb存储引擎上面实现多主、数据实时同步以及强一致性的关系存储架构,业务层面无需做读写分离工作,数据库读写压力都能按照既定的规则分发到 各个节点上去,在数据方面完全兼容 MariaDB 和 MySQL。
- 由MHA manager(管理节点)和MHA node(数据节点)组成,其中MHA node(每个节点都需要安装)
- 其特点是
- (1)自动故障切换过程中,MHA试图从宕机的主服务器上保存二进制日志,最大程度的保证数据不丢失
- (2)使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性
- (3)目前MHA支持一主多从架构,最少三台服务,即一主两从
-
部署 MGC 高可用集群
- 集群 统一使用 CentOS 7
- 四台机器名称分别为mha、master、slave、slave1
- IP地址为:192.168.115.128、192.168.115.130、192.168.115.131、192.168.115.132
- 首先配置好主机名、静态IP、关闭 firewalld 防火墙
1、配置公钥认证
ssh-keygen(一直回车、四台主机都需要)
2、使用ssh-copy-id+主机ID的命令给每台主机设置为免密登录(第一次免密登录其他主机需要密码)
3、进入/etc/hosts文件进行解析配置
4、分别在master、slave和slave1主机上下载mariadb数据库
5、安装完毕以后先进入master主机中的mariadb数据库配置文件
而后逐个进入slave和slave1主机中修改他们的mariadb数据库的配置文件(路径同上,内容需要修改)
6、分别启动master、slave、slave1上的mariadb服务
7、启动服务以后输入以下命令分别给予用户所有权限(如果主机上之前有mariadb数据库,在mysql命令后加上之前使用的用户名和密码。-u用户名称 -p登录数据库的密码才能执行下列命令,且必须刷新特权)例:图三、图四、图五。
8、查看主服务器当前二进制日志文件的状态信息,输入mysql -e "change master to master_host='192.168.115.130',master_
user='myslave',master_password='123.com',master_log_file='master-bin.000003',master_log_pos=1166;"目的是通过指定的主服务器 IP、用户名、密码、以及二进制日志文件的名称和位置等信息建立从服务器与主服务器之间的连接(连接前使用stop slave;命令停止从服务器的复制进程,连接成功后启动复制进程)查看复制进程状态Slave_IQ_rUNNING:YES和Slave_SQL_Running:YES则成功9、在主服务器创建一个gao数据库,然后再slave和slave1中查看,能查看到gao的数据库就证明主从复制成功
10、所有节点需要安装 epel源,命令是yum install epel-release -y。下载完epel源以后输入命令yum -y install perl-DBD-MySQL perl-ExtUtils-MakeMaker perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager perl-Time-HiRes perl-CPAN,(每台主机都需要下载)他的具体意思是:(
这是一个在Linux系统上安装一些Perl模块的命令。它会安装以下模块:
- perl-DBD-MySQL:MySQL数据库驱动程序
- perl-ExtUtils-MakeMaker:Perl模块编译工具
- perl-Config-Tiny:支持解析.ini格式配置文件
- perl-Log-Dispatch:日志分发工具
- perl-Parallel-ForkManager:并行执行任务的工具
- perl-Time-HiRes:用于高精度计时的模块
- perl-CPAN:包含众多Perl模块的仓库
这个命令中的"-y"参数表示自动回答"yes",不需要用户手动确认安装。)
11、将源码包放进root目录,解压源码包、进入源码包、生成、编译、安装(
运行perl Makefile.PL:生成Makefile文件,该文件用于编译、安装模块。运行make:编译模块。
运行make install:将编译后的模块安装到系统中)安装完成后进/usr/local/bin看到四个脚本文件就成功了,所有主机都需要安装
12、 将mha4mysql-manager源码包放进mgt主机,编译安装。进入mha4mysql-manaqer-0.57将samples/scripts/master_ip_failover和samples/scripts/master_ip_online_change拷贝到/usr/local/bin中去
13、进入msater_ip_failover,将脚本文件导入msater_ip_failover
14、配置文件建立,将脚本放进创建好的/etc/masterha/app1.cnf里
15、查看脚本,此时master_ip_failover没有权限,需要给与权限
16、进行测试:masterha_check_ssh--conf=/etc/masterha/app1.cnf
masterha_check_repl --conf=/etc/masterha/app1.cnf
17、启动命令