MariaDB是一个关系数据库管理系统(RDBMS)。一般我们使用的小型应用程序,数据库服务器的单个节点应用程序,它有成千上万的用户不断在网上的时间,在这种情况下,我们需要一个结构,这将能够处理这种负载,并提供高可用性。因此,我们需要增加彼此互连的多个数据库服务器,并保持同步,因此在任何情况下,服务器出现故障,其他服务器可以进行他们与向用户提供服务。
MariaDB Galera Cluster是MariaDB数据库的同步主动-主动多主集群。 这使同步的所有节点。 MariaDB Galera Cluster提供同步复制这始终是高可用性(没有数据丢失节点崩溃的时候之一,数据的副本是始终保持一致)。 目前,它仅支持
XtraDB / InnoDB存储引擎,只用于Linux平台。 本文将帮助您设置MariaDB Galera Cluster与CentOS运行3台服务器。集群服务器具体如下。
- 集群DB1:192.168.1.10(主机名: DB1 )
- 集群DB2:192.168.1.20(主机名: DB2 )
- 集群DB3:192.168.1.30(主机名: DB3 )
注意:
第1步/2/3在所有群集节点上完成,操作过程和节点具体。
第1步:添加MariaDB存储库
创建一个MariaDB存储库
/etc/yum.repos.d/mariadb.repo在你的系统中使用下面的内容。 下面存储库将在CentOS 6.x的系统工作,对于其他系统中使用
存储库生成工具 ,并添加到您的系统。
在CentOS 6 - 64
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
在CentOS 6 - 32位
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-x86
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
第2步:安装MariaDB和Galera
安装MariaDB Galera群集程序包之前,删除系统上安装任何现有的MySQL或MariaDB包。以下命令使用后安装的所有节点上。
# yum install MariaDB-Galera-server MariaDB-client galera
第3步:初始MariaDB配置
在上述步骤成功安装包之后做了一些初步MariaDB配置。使用下列命令并按照群集的所有节点上的说明。如果将提示设置root帐户密码也。
# mysql_secure_installation
# service mysql start
之后,创建所有的节点,它可以从您的网络集群中的Access数据库中MariaDB用户。
# mysql -u root -p
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
并启动群集配置之前停止MariaDB服务
# service mysql stop
第4步:DB1设置群集配置
让我们开始安装MariaDB Galera Cluster从DB1服务器。编辑MariaDB服务器配置文件,并添加在
[MariaDB]部分下面的值。
[root@db1 ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0
binlog_format=ROW
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.1.20,192.168.1.30
wsrep_cluster_name='cluster1'
wsrep_node_address='192.168.1.10'
wsrep_node_name='db1'
wsrep_sst_method=rsync
wsrep_sst_auth=root:password
使用以下命令启动集群。
[root@db1 ~]# /etc/init.d/mysql bootstrap
Bootstrapping the clusterStarting MySQL.... SUCCESS!
如果你在启动过程中有任何问题请检查MariaDB错误日志文件/var/lib/mysql/<hostname>.err
第5步:添加DB2在MariaDB集群中
后DB1成功启动集群。在DB2上开始配置。编辑MariaDB服务器配置文件,并添加在
[MariaDB]部分下面的值。所有设置都差不多,除了wsrep_node_address,wsrep_cluster_address和wsrep_node_name DB1。
[root@db2 ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0
binlog_format=ROW
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.1.10,192.168.1.30
wsrep_cluster_name='cluster1'
wsrep_node_address='192.168.1.20'
wsrep_node_name='db2'
wsrep_sst_method=rsync
wsrep_sst_auth=root:password
使用以下命令启动集群。
[root@db2 ~]# /etc/init.d/mysql start
Starting MySQL..... SUCCESS!
第6步:添加DB3在MariaDB集群中
此服务器是可选的,如果你想只有两个集群服务器,则可以忽略这一步,但是你需要从DB1 / DB2配置文件中删除第三个服务器IP。要添加此服务器进行修改一样DB2。
[root@db3 ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0
binlog_format=ROW
default_storage_engine=innodb
innodb_autoinc_lock_mode=2
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_address=gcomm://192.168.1.10,192.168.1.20
wsrep_cluster_name='cluster1'
wsrep_node_address='192.168.1.30'
wsrep_node_name='db2'
wsrep_sst_method=rsync
wsrep_sst_auth=root:password
使用以下命令启动集群。
[root@db3 ~]# /etc/init.d/mysql start
Starting MySQL..... SUCCESS!
第7步:测试MariaDBGalera群集设置
在这个阶段,您的群集安装已经完成,并正常运行。现在,您可以测试通过在集群的任何服务器创建数据库和表群集安装,它会立即复制到群集中的所有服务器。
上面的GIF图像显示,数据库被正确复制到集群中的所有节点。