易妖游戏网
您的当前位置:首页MariaDB集群安装总结

MariaDB集群安装总结

来源:易妖游戏网
Alex Qin

adaivskenan@qq.com

MariaDB Galera Cluster安装

一、 在线安装:

1. 配置MariaDB源:

使用命令vi /etc/yum.repos.d/MariaDB.repo创建MariaDB源。

在MariaDB官网可以根据具体的操作系统配置相应的MariaDB源,https://downloads.mariadb.org/mariadb/repositories/如图:

2. 安装MariaDB和Galera

使用命令yum install MariaDB-Galera-server galera MariaDB-client安装MariaDB-client和MariaDB-Galera-server。

Alex Qin

adaivskenan@qq.com

3. 启动MariaDB

service mysql start

4. 设置MariaDB的root密码,并做安全加固

/usr/bin/mysql_secure_installation 5. 创建用于同步数据库的SST帐号

root@mdb1~]# mysql -u root -p

mysql> GRANT USAGE ON *.* to sst@'%' IDENTIFIED BY 'sstpass123'; mysql> GRANT ALL PRIVILEGES on *.* to sst@'%'; mysql> FLUSH PRIVILEGES; mysql> quit

6. 创建wsrep.cnf文件

[root@mdb1 ~]# cp /usr/share/mysql/wsrep.cnf /etc/my.cnf.d/ [root@mdb1 ~]# vi /etc/my.cnf.d/wsrep.cnf 修改如下3行:

wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=\"gcomm://\" wsrep_sst_auth=sst:sstpass123 注意:

\"gcomm://\" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须改gcomm://\"为其他节点的集群地址,例如wsrep_cluster_address=\"gcomm://192.168.4.13.:4567\" 7. 在/etc/my.cnf中加入如下一行包含wsrep.cnf文件

!includedir /etc/my.cnf.d/ 8. 本机防火墙上开放所需TCP 3306和TCP 4567的端口

iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT 9. 重起MariaDB服务 service mysql restart 10. 确认MySQL的3306端口和wsrep的4567端口处于监听状态,第一个结点配置完

毕。

[root@mdb-01 ~]# netstat -tulpn | grep -e 4567 -e 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 77/mysqld tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 77/mysqld 11. 为集群增加其他节点

假设刚才配置的为结点A

a.按照上述1-9的步骤安装MariaDB和Galera library。

b.除了第5步wsrep_cluster_address的配置稍有不同:wsrep_cluster_address=\"gcomm://A结点ip:4567\"

c.重起MariaDB

d.按上述步骤配置下一个节点,将其wsrep_cluster_address指向其前一个节点,例如:

Node C --> Node B, Node D --> Node C, „ , Node N -> „如下图所示:

Alex Qin

adaivskenan@qq.com

e.配置Node A重新加入集群,修改/etc/my.cnf.d/wsrep.cnf中的wsrep_cluster_address地址指向Node N。

wsrep_cluster_address=\"gcomm://Node-N-IP:4567\"这样形成一个环,形成集群后每个结点都是彼此可以相互发现的。 二、 离线安装: 1. 下载MariaDB Galera Cluster tar.gz安装包

地址:https://downloads.mariadb.org/mariadb-galera/10.0/

Alex Qin

adaivskenan@qq.com

选择相应的安装包下载。或者使用命令wget http://mirrors.opencas.cn/mariadb/mariadb-galera-10.0.19/bintar-linux-x86_/mariadb-galera-10.0.19-linux-x86_.tar.gz 2. 解压并拷贝解压后的文件到/usr/local/mysql下

mkdir /usr/local/mysql tar -zxvf mariadb-galera-10.0.19-linux-x86_.tar.gz cp -R mariadb-galera-10.0.19-linux-x86_/* /usr/local/mysql

3. 添加或覆盖配置并修改文件

cd /usr/local/mysql

cp support-files/my-large.cnf /etc/my.cnf vi /etc/my.cnf

在[mysqld]标签下添加如下四行内容:

!includedir /usr/local/mysql/conf.d/(设置集群配置文件路径) basedir=/usr/local/mysql (mariadb安装路径)

datadir=/usr/local/mysql/data (mariadb数据库数据存放路径) character_set_server=utf8

Alex Qin

adaivskenan@qq.com

log-error=/usr/local/mysql/log/mariadb-error.log

4. 增加配置文件中用到的文件

mkdir /usr/local/mysql/conf.d mkdir /usr/local/mysql/log

vi /usr/local/mysql/log/mariadb-error.log(启动失败后查看错误信息) 将mysql加入服务

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql chkconfig --add mysql 5. 配置服务

vi /etc/init.d/mysql basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

6. 初始化数据库

在/usr/local/mysql下

./scripts/mysql_install_db --basedir=/usr/local/mysql datadir=/usr/local/mysql/data --defaults-file=/etc/my.cnf 7. 系统添加mysql命令

ln -s /usr/local/mysql/bin/mysql /usr/bin 创建mysql管理用户 groupadd mariadb

useradd -g mariadb mariadb 8. mysql目录改为mysql读写权限 chown -R mysql:mysql /usr/local/mysql 9. 安全加固

/usr/bin/mysql_secure_installation 10. 安装galera 为了获取为了获得/usr/lib/galera/libgalera_smm.so,libgalera_smm.so为wsrep(提供数据库集群写复制)

或者:wget http://releases.galeracluster.com/centos/7/x86_/galera-3-25.3.1-2.el7.x86_.rpm

安装galera:rpm -ivh galera-3-25.3.10-2.el7.x86_.rpm 11. 创建wsrep.cnf配置文件:

cp /usr/local/mysql/support-files/wsrep.cnf /usr/local/mysql/conf.d/ 12. 之后的操作与在线安装步骤5-11一致。

三、 系统准备工作:

1. Centos7更改主机名:

在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Linuxidc)。 hostnamectl查看主机名的相关设置:

Alex Qin

adaivskenan@qq.com

只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项

要同时修改所有三个主机名:静态、瞬态和灵活主机名: hostnamectl set-hostname mariadb

或者单独修改如:hostnamectl --pretty set-hostname mariadb

使用命令vi /etc/hosts修改hosts文件,使用#注释掉原来的,然后添加新的主机名。

重启计算机后主机名即会改变。

2. gcc安装

采用iso镜像做yum源安装。未实现

3. boost-devel与namp安装

无gcc无法安装boost-devel和namp。

因篇幅问题不能全部显示,请点此查看更多更全内容