Mariadb-galera集群配置
- 格式:docx
- 大小:417.20 KB
- 文档页数:12
mariadb使用手册摘要:一、MariaDB 简介1.数据库管理系统概述2.MariaDB 的发展历程3.MariaDB 的特点和优势二、MariaDB 安装与配置1.安装环境要求2.安装步骤3.配置MariaDB三、MariaDB 基本操作1.连接MariaDB2.创建数据库3.创建表4.插入数据5.查询数据6.更新数据7.删除数据四、数据库管理1.数据库的创建与删除2.表的创建与删除3.数据备份与恢复4.用户权限管理五、MariaDB 高级功能1.存储引擎2.事务处理3.视图4.触发器5.存储过程六、优化与维护1.性能优化2.索引3.死锁4.常见错误处理正文:MariaDB 使用手册一、MariaDB 简介数据库管理系统(Database Management System,简称DBMS)是计算机科学领域的重要研究方向之一。
它用于存储、检索和管理大量数据。
MariaDB 是一个开源的关系型数据库管理系统,其灵感来源于MySQL。
MariaDB 的发展始于2009 年,当时MySQL 被甲骨文公司收购。
为了保证数据库的独立性和开源精神,MariaDB 从MySQL 中分离出来,继承了MySQL 的优点,并在此基础上进行了一系列改进和增强。
MariaDB 具有高性能、可扩展性、易于使用等特点,广泛应用于互联网、企业级应用等领域。
它支持多种操作系统,如Linux、Windows 等,并提供多种编程语言的驱动程序。
二、MariaDB 安装与配置1.安装环境要求MariaDB 的最低系统要求如下:- 处理器:奔腾4 或更高版本- 内存:2GB 或更高- 硬盘:10GB 或更高- 操作系统:支持Linux、Windows 等2.安装步骤以Linux 系统为例,安装MariaDB 的步骤如下:- 更新系统软件包列表- 安装必要的依赖软件包- 下载并安装MariaDB- 启动MariaDB 服务- 设置开机自启动3.配置MariaDB安装完成后,需要对MariaDB 进行一些基本配置,例如设置root 用户的密码、配置日志文件等。
MariaDB Galera Cluster安装一、在线安装:1.配置MariaDB源:使用命令vi /etc/yum.repos.d/MariaDB.repo创建MariaDB源。
在MariaDB官网可以根据具体的操作系统配置相应的MariaDB源,https:///mariadb/repositories/如图:2.安装MariaDB和Galera使用命令yum install MariaDB-Galera-server galera MariaDB-client安装MariaDB-client和MariaDB-Galera-server。
3.启动MariaDBservice mysql start4.设置MariaDB的root密码,并做安全加固/usr/bin/mysql_secure_installation5.创建用于同步数据库的SST帐号root@mdb1~]# mysql -u root -pmysql> GRANT USAGE ON *.* to sst@'%' IDENTIFIED BY 'sstpass123';mysql> GRANT ALL PRIVILEGES on *.* to sst@'%';mysql> FLUSH PRIVILEGES;mysql> quit6.创建f文件[root@mdb1 ~]# cp /usr/share/mysql/f /etc/f.d/[root@mdb1 ~]# vi /etc/f.d/f修改如下3行:wsrep_provider=/usr/lib64/galera/libgalera_smm.sowsrep_cluster_address="gcomm://"wsrep_sst_auth=sst:sstpass123注意:"gcomm://" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。
mariadb集群配置(主从和多主)mariadb主从主从多⽤于⽹站架构,因为主从的同步机制是异步的,数据的同步有⼀定延迟,也就是说有可能会造成数据的丢失,但是性能⽐较好,因此⽹站⼤多数⽤的是主从架构的数据库,读写分离必须基于主从架构来搭建。
mariadb主从架构流程主增删改,从同步数据修改写进磁盘,以⼆进制⽂件格式保存,并创建授权登陆账号,从节点登陆同步账号读取此⼆进制⽂件。
主节点⽣成⼀个dump线程接收从节点请求,从节点⽣成io与sql线程,但主节点并不只能有⼀个线程。
io线程发送请求读⼆进制⽂件,dump线程返回给reley log(中继⽇志⾥),然后sql线程再读取中继⽇志进⾏回放,同步数据。
black hole引擎(只存储⼆进制⽂件):⽤于主从节点之间的连接,降低主节点的压⼒同步延迟,⼆进制⽂件记录是串⾏。
坏处是延迟,好处是能够⼀定时间内撤销错误操作异步同步优缺点:异步能解放出来节省时间和资源,不安全同步能提⾼安全,但效率低mariadb主从解决单点故障⽅案MHA:通过mha(配置⽂件)监控主从架构,master high avaliable 主机⾼可⽤(布置在另⼀台主机上)互为主从:有可能会造成数据的不⼀致mariadb架构的基础之上的读写分离的实现:proxy mycat环境准备准备两天同⽹段的主机,这⾥设置192.168.253.147为主,192.168.253.148为从主配置:1)关闭两台主机的防⽕墙2)修改配置⽂件/etc/f.d/f ;在mysql模块下添加:server_id=1 和 log_bin=mysql_bin ,重启mariadb3)进⼊mysql创建主从连接账号create user slave@'%' identified by '1';4)授权grant replication slave on *.* to slave@'%' identified by '1';5)查看master状态show mater status;| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql_bin.000002 | 342 | |注意:此状态会随着重启等操作改变,⼀旦改变从节点需要重新登陆。
在CentOS7上安装MariaDBGaleraCluster多主集群1、MariaDB Galera Cluster介绍MariaDB Galera Cluster 是一个用于同步MariaDB 数据库的多master 集群的工具。
在数据方面完全兼容MariaDB 和MySQL。
特性:•同步复制 Synchronous replication•Active-active multi-master 拓扑逻辑•可对集群中任一节点进行数据读写•自动成员控制,故障节点自动从集群中移除•自动节点加入•真正并行的复制,基于行级•直接客户端连接,原生的 MySQL 接口2、环境准备准备两台虚拟机,分别安装CentOS7-1908(7.7)。
服务器A:193.168.12.9 db1服务器B:193.168.12.10 db2两台虚机上关闭防火墙:systemctl stop firewalldsystemctl disable firewalld两台虚机上关闭selinux:setenforce 0修改/etc/selinux/config,设置SELINUX=disabled,确保重启后也生效。
3、安装mariadb 10.5默认centos的源里不带mariadb 10.5,需要自己配置,创建/etc/yum.repo.d/mariadb.repo文件,这里配置的是从阿里云镜像下载,速度比从官网快。
内容如下:[mariadb]name=MariaDBbaseurl=https:///mariadb/yum/10.5/cent os7-amd64pgpkey=https:///mariadb/yum/RPM-GPG-KEY-MariaDBpgpcheck=0下载并导入KEY:wget --no-check-certificate https:///mariadb/yum/RPM-GPG-KEY-MariaDB /etc/pki/rpm-gpg/rpm --import /etc/pki/rpm-gpg/*用yum安装:yum install -y MariaDB-server MariaDB-client如果之前配置过其它源导致安装失败,可以先清理一下再重试:yum clean metadata两台数据库服务器做同样操作。
云集平台数据库集群从搭建到对接研发部2016年7月20日Kelly目录MariaDB集群搭建: (3)1.在各节点安装MariaDB (3)2.设置开机启动MariaDB (3)3.设置MariaDB的root密码,并做安全加固 (3)4.确认MariaDB已正确安装并处于运行状态 (3)5.创建用于同步数据库的SST帐号 (4)6.创建f文件 (4)7.确认本机防火墙上开放了所需TCP3306和TCP4567的端口 (4)8.重起MariaDB服务 (4)9.确认MySQL的3306端口和wsrep的4567端口处于监听状态 (5)10.安装新节点 (5)Mariadb集群搭建完成后的对接: (5)附录: (5)MariaDB集群搭建:1.在各节点安装MariaDB[root@localhost~]#vi/etc/yum.repos.d/mariadb.repo写入如下信息#MariaDB10.1CentOS repository list#/mariadb/repositories/[mariadb]name=MariaDBbaseurl=/5.5/centos6-amd64gpgkey=https:///RPM-GPG-KEY-MariaDBgpgcheck=1enabled=1[root@localhost~]#yum install MariaDB-Galera-server galera MariaDB-client rsync2.设置开机启动MariaDB[root@mdb-01~]#chkconfig mysql on[root@mdb-01~]#service mysql start3.设置MariaDB的root密码,并做安全加固[root@mdb-01~]#/usr/bin/mysql_secure_installation4.确认MariaDB已正确安装并处于运行状态[root@mdb-01~]#mysql-u root-pEnter password:Welcome to the MariaDB mands end with;or g.Your MariaDB connection id is11Server version:5.5.29-MariaDB MariaDB Server,wsrep_23.7.3.rXXXXCopyright(c)2000,2013,Oracle,Monty Program Ab and others.Type'help;'or'h'for help.Type'c'to clear the current input statement.MariaDB[(none)]>注意查看是否有"wsrep_23.7.3.rXXXX"的输出。
数据库⾼可⽤⽅案低读低写并发、低数据量⽅案⽅案⼀:双机⾼可⽤⽅案1.数据库架构图2.特点⼀台机器A作为读写库,另⼀台B作为备份库;A库故障后B库作为读写库;A库恢复后A作为备库。
3.开发说明此种情况下,数据源配置中的数据库IP地址,可采⽤虚拟的IP地址。
虚拟IP地址由两台数据库机器上的keepalive配置,并互相检测⼼跳。
当其中⼀台故障后,虚拟IP地址会⾃动漂移到另外⼀台正常的库上。
数据库的主备配置、故障排除和数据补全,需要DBA和运维⼈员来维护。
⽽程序代码或配置并不需要修改。
具体配置可参考资料:4.适应场景读和写都不⾼的场景(单表数据低于500万),双机⾼可⽤。
5.优缺点优点是⼀个机器故障了可以⾃动切换;缺点是只有⼀个库在⼯作,读写并未分离,并发有限制。
⽅案⼆:主从结构⽅案1.数据库架构图2.特点⼀台机器A作为写库,另⼀台B作为读库;A库故障后B库充当读写,A修复后,B库为写库,A库为读库。
3.开发说明这种⽅案的实现,要借助数据库中间件Mycat来实现,Mycat的datahost配置如下(注意balance和writetype的设置)<dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"><heartbeat>select user()</heartbeat><!--主,⽤于写--><writeHost host="hostM1" url="192.168.1.135:3306" user="root" password="123" /><!--主2,⽤于读,hostM1 down了,⾃动切换为主,读写都可以--><writeHost host="hostM2" url="192.168.1.136:3306" user="root" password="123" /></dataHost>项⽬开发中,要配置Mycat数据源,并实现对Mycat数据源的数据操作。
Galera_Cluster_for_MySQL集群搭建Galera Cluster for MySQL集群搭建要架设Galera Cluster Server,有两种套件选择,⼀个是Percona XtraDB Cluster另⼀个是MariaDB Galera Cluster,这次介绍后者的安装。
Galera Cluster 介绍为什么要选择Galera Cluster Server,它有什么优点及功能呢?MySQL/Galera 是⼀套可以同步多台MySQL/InnoDB 机器的丛集系统,底下可以列出功能。
同步复制资料可读取和写⼊丛集系统内任⼀节点⾃动侦测节点错误,如果有节点当机,则丛集系统⾃动移除该节点可任意扩充节点采⽤row level ⽅式来平⾏复制资料从上⾯功能看来,我们可以平⾏任意扩充节点,动态增加服务器到丛集系统,要做到上⾯功能,就是利⽤Galera library来做到同步资料处理,同步的详细细节,可以参考Galera library连结。
这边就不再多描述了。
Galera Cluster的部署安装Galera Cluster Server本篇介绍的MySQL Server是使⽤MariaDB套件,⽽不是安装原始的MySQL。
CentOS和Ubuntu安装⽅式雷同,前者是⽤yum后者则是aptitude,在安装前请先下载对应的repository配置⽂件[https:///doc/662cccd0dc88d0d233d4b14e852458fb760b385d.html/mariadb/repositories/#mirror=qiming] CentOS$ yum -y update; yum -y upgrade$ yum –y install MariaDB-Galera-server MariaDB-clientgaleraUbuntu$ aptitude -y update$ aptitude -y install mariadb-galera-server-5.5 galera或者apt-get:$ apt-get -y update$ apt-get -y install mariadb-galera-server-5.5 galera启动MySQL$/etc/init.d/mysql start设置Galera Cluster Server先讲⼀下环境,⽬前总共两台Galera Server,IP 分别是:Node_1: 192.168.1.100Node_2: 192.168.1.101建⽴Node_1, Node_2 MySQL User,⽤来认证使⽤,先进⼊MySQL Console.$ mysql -u root -pWelcome to the MariaDB monitor. Commands end with ; or \g.Your MariaDB connectionidis 154Server version: 10.0.1-MariaDB-mariadb1~precise-log/doc/662cccd0dc88d0d233d4b14e852458fb760b385d.html binary distributionCopyright (c) 2000, 2012, Oracle, Monty Program Ab and others.Type'help;'or'\h'forhelp. Type'\c'toclearthe current input statement.MariaDB [(none)]>建⽴cluster 使⽤者,密码为1234,针对% 跟localhost 同时建⽴。
MariaDB安装及基本配置MariaDB安装及基本配置(CentOS6.9)数据库基础概念数据库(Database, DB)是按照数据结构来组织、存储和管理数据的建⽴在计算机存储设备上的仓库。
DBMS: Database Management System, 数据库管理系统。
我们平时所说的数据库其实指DBMS.RDBMS: Relation Database Management System, 关系型数据库管理系统,其主要的概念:1. 关系:⼆维表,表中的⾏、列次序不重要;2. 元祖:表中的每⼀⾏,⼜称为⼀条记录3. 属性:表中的每⼀列,⼜称为字段4. 域:属性的取值范围5. 主键:⽤于唯⼀确定⼀⾏的⼀个或多个字段事务transaction:⽤户定义个⼀组不可分割的数据库操作序列。
事务满⾜ACID原则:A: Atomicity, 原⼦性。
事务是⼀个整体,这组操作要么都没做要么都做完。
如果事务失败,事务中已执⾏完成的操作会回滚(roolback);C: Consistency, ⼀致性。
与事务相关的所有数据库状态在事务提交后有⼀个期望值,事务执⾏完后所有的值都应该满⾜期望;如果部分满⾜部分不满⾜,说明事务是失败的,要回滚;I: Isolation, 隔离性。
事务执⾏过程中,处于中间状态的数据应该对其他事务不可见;D: Duration, 持久性。
事务⼀旦被提交对数据库的修改是永久性的。
MariaDB(CentOS6.9)MariaDB是⼀种RDBMS,和MySQL⼀脉相承。
yum安装yum源配置yum源可以在,根据⾃⼰的系统版本选择:安装yum install mariadb-server --enablerepo=MariaDB# --enablerepo=MariaDB, MariaDB为使⽤的yum源名称# 我是⽤的操作系统版本是centOS6.9,在CentOS7中还需要安装mariadb配置安全配置不做安全配置,任意⽤户都可以⽤root账户登录mysql,并且不需要输⼊密码,这是不安全的。
mysql的集群模式galera-cluster部署详解⽬录⼀: galera-cluster 的介绍⼆: galera-cluster 的运⾏原理三: mariadb的galera-cluster 部署⼀: galera-cluster 的介绍官⽅给出的特性如下:真正的多主集群,Active-Active架构;同步复制,没有复制延迟;多线程复制;没有主从切换操作,⽆需使⽤虚IP;热备份,单个节点故障期间不会影响数据库业务;⽀持节点⾃动加⼊,⽆需⼿动拷贝数据;⽀持InnoDB存储引擎;对应⽤程序透明,原⽣MySQL接⼝;⽆需做读写分离;部署使⽤简单。
⼆: galera-cluster 的运⾏原理主要关注点是数据⼀致性。
事务既可以应⽤于每个节点,也可以不全部应⽤。
所以,只要它们配置正确,数据库保持同步。
Galera复制插件不同于传统的MySQL复制,可以解决多个问题,包括多主写⼊冲突,复制滞后和主从不同步。
三: mariadb的galera-cluster 部署3.1: 系统软件环境介绍系统: CentOS7.5x64192.168.20.33 192.168.20.34 192.168.20.35 软件: mariadb-galera-cluster.zip3.2: 配置时间同步服务器flyfish的主机已经配置好了chronyd 时间服务器时间服务器为: 192.168.20.3如果不会可以参考flyfish的其关于安装⼤数据集群CDH 的时间服务器的配置在此不再提供如何安装配置3.3 安装mariadb-galear-cluster所⽤集群节点都执⾏:yum remove -y mariadb-libsyum install -y unzip boost-devel lsof perl-DBI perl-Data-Dumperrpm -ivh rpm -ivh MariaDB-10.0.37-centos73-x86_64-*rpm -ivh MariaDB-Galera-10.0.37-centos73-x86_64-*3.4 节点配置⽂件节点⼀: cd /etc/f.dvim server.conf----[mysqld]## * Galera-related settings#[galera]# Mandatory settingswsrep_provider= /usr/lib64/galera/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster'wsrep_node_name = ''wsrep_node-address = '192.168.20.33'binlog_format=rowdefault_storage_engine=InnoDBinnodb_autoinc_lock_mode=2bind-address=0.0.0.0## Optional setting#wsrep_slave_threads=1----节点⼆:cd /etc/f.d/vim server.conf----[mysqld]## * Galera-related settings#[galera]# Mandatory settingswsrep_provider= /usr/lib64/galera/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster'wsrep_node_name = ''wsrep_node-address = '192.168.20.34'binlog_format=rowdefault_storage_engine=InnoDBinnodb_autoinc_lock_mode=2bind-address=0.0.0.0## Optional setting#wsrep_slave_threads=1#innodb_flush_log_at_trx_commit=0---节点三: cd /etc/f.d/vim server.conf----[mysqld]## * Galera-related settings#[galera]# Mandatory settingswsrep_provider= /usr/lib64/galera/libgalera_smm.sowsrep_cluster_address="gcomm://192.168.20.33,192.168.20.34,192.168.20.35" wsrep_cluster_name = 'mycluster'wsrep_node_name = ''wsrep_node-address = '192.168.20.35'binlog_format=rowdefault_storage_engine=InnoDBinnodb_autoinc_lock_mode=2bind-address=0.0.0.0## Optional setting#wsrep_slave_threads=1#innodb_flush_log_at_trx_commit=0----3.4 启动集群在集群的任意⼀个节点上执⾏service mysql start --wsrep-new-cluster此处以节点三为例:节点⼀和节点⼆执⾏:service mysql start3.5:创建数据库实例节点⼀:mysql -uroot create database nCalInfo在节点⼆,三上⾯查看mysql -uroot show databases以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
MariaDB作为Mysql的一个分支,在开源项目中已经广泛使用,例如大热的openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力,集群部署是必不可少的。
MariaDB Galera Cluster 介绍MariaDB集群是MariaDB同步多主机集群。
它仅支持XtraDB/ InnoDB存储引擎(虽然有对MyISAM实验支持 - 看wsrep_replicate_myisam系统变量)。
主要功能:●同步复制●真正的multi-master,即所有节点可以同时读写数据库●自动的节点成员控制,失效节点自动被清除●新节点加入数据自动复制●真正的并行复制,行级●用户可以直接连接集群,使用感受上与MySQL完全一致优势:●因为是多主,所以不存在Slavelag(延迟)●不存在丢失事务的情况●同时具有读和写的扩展能力●更小的客户端延迟●节点间数据是同步的,而Master/Slave模式是异步的,不同slave上的binlog可能是不同的技术:Galera集群的复制功能基于Galeralibrary实现,为了让MySQL与Galera library通讯,特别针对MySQL开发了wsrep API。
Galera插件保证集群同步数据,保持数据的一致性,靠的就是可认证的复制,工作原理如下图:当客户端发出一个commit的指令,在事务被提交之前,所有对数据库的更改都会被write-set收集起来,并且将 write-set 纪录的内容发送给其他节点。
write-set 将在每个节点进行认证测试,测试结果决定着节点是否应用write-set更改数据。
如果认证测试失败,节点将丢弃 write-set ;如果认证测试成功,则事务提交。
一.mariadb集群配置1.安装环境准备安装MariaDB集群至少需要3台服务器(如果只有两台的话需要特殊配置,请参照官方文档)在这里,我列出试验机器的配置:操作系统版本:CentOS7.3、mariadb10.1.21hmcloud-Flow01:10.199.10.101 hmcloud-Flow02:10.199.10.102 hmcloud-Flow03:10.199.10.103为了保证节点间相互通信,需要禁用防火墙设置:在三个节点分别执行命令:systemctl stop firewalldsystemctl enable firewalld如需要开启防火墙,需要开放mariadb端口和4567端口,并开启组播(keepalived),实测firewall开启后即使开放端口和协议也会导致haproxy不能转发,如需使用防火墙功能建议更换成iptables.firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPTfirewall-cmd --add-port=4567/tcp --permanentfirewall-cmd --reload关闭selinux:sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config,setenforce 0host解析,分别修改三台机器/etc/hosts,添加对应IP和主机名创建mysql目录,挂载磁盘mkdir /data/mount /dev/sdb /data/vim /etc/fstab添加挂载项mkdir /data/mysql升级内核,设置新内核为默认kernel ,启用BBR协议rpm --import https:///rpm -Uvh /elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y[root@Ms_NxEra ~]# cat /boot/grub2/grub.cfg |grep 4.[root@Ms_NxEra ~]# grub2-set-default "CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)"echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confecho "net.core.default_qdisc=fq">> /etc/sysctl.conf配置安装源[root@hmcloud-Flow01 mariadb]# cat /etc/yum.repos.d/mariadb.repo [mariadb]name = MariaDBbaseurl = /10.1.21/centos7-amd64/gpgkey=https:///RPM-GPG-KEY-MariaDBgpgcheck=12.安装 MariaDB Galera Cluster[root@hmcloud-Flow01 ~]#yum install MariaDB-server MariaDB-client galera -y3.配置 MariaDB Galera Cluster初始化数据库服务,只在一个节点进行[root@hmcloud-Flow01 mariadb]# systemctl start mariadb[root@hmcloud-Flow01 mariadb]# mysql_secure_installation关闭数据库,修改 /etc/f.d/f[root@hmcloud-Flow01 ~]# systemctl stop mariadb[root@hmcloud-Flow01 ~]# vim /etc/f.d/f[galera]wsrep_provider = /usr/lib64/galera/libgalera_smm.so#wsrep_cluster_address = "gcomm://"wsrep_cluster_address = "gcomm://10.199.10.101,10.199.10.102,10.199.10.103" wsrep_node_name = hmcloud-Flow01 #各节点名称,另外的节点需要修改wsrep_cluster_name=hmcloudwsrep_node_address=10.199.10.101 #节点IP,另外的节点需要修改wsrep_on=ONbinlog_format=ROWdefault_storage_engine=InnoDBinnodb_autoinc_lock_mode=2#bind-address=0.0.0.0wsrep_slave_threads=1innodb_flush_log_at_trx_commit=0innodb_buffer_pool_size=122Mwsrep_sst_method=rsync[embedded][mariadb]datadir=/data/mysqlsocket=/var/lib/mysql/mysql.sockport=3333innodb_rollback_on_timeout=1innodb_lock_wait_timeout=600max_connections=350skip-name-resolvelog-bin=mysql-binauto-increment-offset=1auto-increment-increment=2expire_logs_days =10#skip-grant-tables提示:将此文件复制到其余节点,注意要把wsrep_node_name和wsrep_node_address 改成相应节点的 hostname和ip。
mariad默认安装在/var/lib/mysql目录下,上面配置文件修改datadir,需要将/var/lib/mysql 下的所有文件拷贝过去才能正常启动cp -r /var/lib/mysql /data/mysqlchown mysql:mysql -R /data/mysql4.启动 MariaDB Galera Cluster 服务[root@hmcloud-Flow01 ~]#/usr/sbin/mysqld --wsrep-new-cluster --user=root &观察日志:[root@hmcloud-Flow01 ~]# tail -f /var/log/mariadb/mariadb.log150701 19:54:17 [Note] WSREP: wsrep_load(): loading provider library 'none'150701 19:54:17 [Note] /usr/libexec/mysqld: ready for connections.Version: '5.5.40-MariaDB-wsrep' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server, wsrep_25.11.r4026出现 ready for connections ,证明我们启动成功,其他节点做好准备配置,修改好mysql配置文件/etc/f.d/f后启动即可:[root@hmcloud-Flow02 ~]# systemctl start mariadb[root@hmcloud-Flow03 ~]# systemctl start mariadb可以查看/var/log/mariadb/mariadb.log,在日志可以看到节点均加入了集群中。
警告⚠:--wsrep-new-cluster 这个参数只能在初始化集群使用,且只能在一个节点使用,在节点故障修复后只需要执行systemctl start mariadb即可重新加入集群5.查看集群状态我们可以关注几个关键的参数:wsrep_connected = on 链接已开启wsrep_local_index = 1在集群中的索引值wsrep_cluster_size =3集群中节点的数量wsrep_incoming_addresses = 10.199.10.101:3333,10.199.10.101:3333,10.199.10.101:3333集群中节点地址6.验证数据同步我们在node4上新建数据库galera_test ,然后在node5 和node6 上查询,如果可以查询到 galera_test 这个库,说明数据同步成功,集群运行正常。