Linux下MySQL/MariaDB Galera集群搭建过程

MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证。

MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

详细介绍请参考链接:

(官网)

Galera Cluster介绍

Galera Cluster是基于MySQL/innodb二次开发而成的一个支持“多主同步”的数据库主从集群,具有高可用,易于扩展等特点。

详细介绍请参考链接:

(官网)

本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download

1.  添加yum源

[root@localhost ~]# vi /etc/yum.repos.d/CentOS-MariaDB.repo

添加如下几行:

[mariadb] name = MariaDB baseurl = /rhel6-amd64 gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck = 1

Linux下MySQL/MariaDB Galera集群搭建过程

2. 安装mariadb galera软件包

[root@localhost ~]# yum install MariaDB-Galera-server MariaDB-client galera

Linux下MySQL/MariaDB Galera集群搭建过程

Linux下MySQL/MariaDB Galera集群搭建过程

3. 修改防火墙配置

[root@localhost ~]# vi /etc/sysconfig/iptables

添加如下几行:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 4444 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 4567 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 4568 -j ACCEPT

Linux下MySQL/MariaDB Galera集群搭建过程

4. 重启防火墙功能

[root@localhost ~]# service iptables restart

Linux下MySQL/MariaDB Galera集群搭建过程

5. 安装selinux管理工具

[root@localhost ~]# yum provides /usr/sbin/semanage
[root@localhost ~]# yum -y install policycoreutils-Python

Linux下MySQL/MariaDB Galera集群搭建过程

6. 修改selinux安全策略

[root@localhost ~]# semanage port -a -t mysqld_port_t -p tcp 4567
[root@localhost ~]# semanage port -a -t mysqld_port_t -p tcp 4568
[root@localhost ~]# semanage permissive -a mysqld_t

Linux下MySQL/MariaDB Galera集群搭建过程

7. 启动mysql服务

[root@localhost ~]# service mysql start

8. 执行mysql安全设置

[root@localhost ~]# mysql_secure_installation

(先设置root账户密码,再一直“y”下去即可)

Linux下MySQL/MariaDB Galera集群搭建过程

Linux下MySQL/MariaDB Galera集群搭建过程

9. 创建用于节点同步的账号

[root@localhost ~]# mysql -uroot -p
MariaDB [(none)]> grant usage on *.* to sst@'%' identified by '123456';
MariaDB [(none)]> flush privileges;

10. 修改mysql默认字符集

MariaDB [(none)]> show variables like 'character%';
MariaDB [(none)]> set character_set_server = utf8;
MariaDB [(none)]> set character_set_database = utf8;

11. 修改集群节点配置

[root@localhost ~]# cp /usr/share/mysql/wsrep.cnf /etc/my.cnf.d/
[root@localhost ~]# vi /etc/my.cnf.d/wsrep.cnf

修改如下几行:

wsrep_provider=/usr/lib64/galera/libgalera_smm.so wsrep_cluster_address="gcomm://" #集群节点N的地址(注意把前面的"#"删掉!) wsrep_sst_auth=sst:123456 #节点N的数据库账户和密码

参数说明

  "gcomm://" 是特殊的地址,仅仅是galera cluster初始化启动时候使用。
  如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须先修改"gcomm://"为其他节点的集群地址,例如wsrep_cluster_address="gcomm://192.168.0.152"。

检查/etc/my.cnf中有没有!includedir /etc/my.cnf.d/这一行,没有则添加。

[root@localhost ~]# vi /etc/my.cnf

Linux下MySQL/MariaDB Galera集群搭建过程

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/860bcef52e831a821003fc2dea20378b.html