MariaDB Galera Cluster安装
一、 在线安装:
1. 配置MariaDB源:
使用命令vi /pos.po创建MariaDB源。
在MariaDB可以根据具体的操作系统配置相应的MariaDB源,/mariadb/repositories/如图:
2. 安装MariaDB和Galera
使用命令yum install MariaDB-Galera-server galera MariaDB-client安装MariaDB-client和MariaDB-Galera-server。
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. 创建wsrepf文件
[root@mdb1 ~]# cp /usr/share/mysql/wsrepf /etc/myf.d/
[root@mdb1 ~]# vi /etc/myf.d/wsrepf
修改如下3行:
wsrep_provider=/usr/lib64/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/myf中加入如下一行包含wsrepf文件
!
includedir /etc/myf.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 8977/mysqld
tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN 8977/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 -> …如下图所示:
e.配置Node A重新加入集,修改/etc/myf.d/wsrepf中的wsrep_cluster_address地址指向Node N。
wsrep_cluster_address="gcomm://Node-N-IP:4567"这样形成一个环,形成集后每个结点都是彼此可以相互发现的。
二、 离线安装:
1. 下载MariaDB Galera 安装包
地址:/mariadb-galera/10.0/
选择相应的安装包下载。或者使用命令wget mirrors.opencas/mariadb/mariadb-galera-10.0.19/bintar-linux-x86_64/mariadb-galera-10.0.19-linux-x86_
2. 解压并拷贝解压后的文件到/usr/local/mysql下
mkdir /usr/local/mysql
tar -zxvf mariadb-galera-10.0.19-linux-x86_
cp -R mariadb-galera-10.0.19-linux-x86_64/* /usr/local/mysql
3. 添加或覆盖配置并修改文件
安装mysql初始化数据库失败cd /usr/local/mysql
cp support-files/my-largef /etc/myf
vi /etc/myf
在[mysqld]标签下添加如下四行内容:
!includedir /usr/local/mysql/conf.d/(设置集配置文件路径)
basedir=/usr/local/mysql (mariadb安装路径)
datadir=/usr/local/mysql/data (mariadb数据库数据存放路径)
character_set_server=utf8
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/myf
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/lib64/galera/libgalera_smm.so,libgalera_smm.so为wsrep(提供数据库集写复制)
或者:wget releases.galeracluster/centos/7/x86_64/galera-3-25.3.1-2.el7.x86_6
4.rpm
安装galera:rpm -ivh galera-3-25.3.10-2.el7.x86_64.rpm
11. 创建wsrepf配置文件:
cp /usr/local/mysql/support-files/wsrepf /usr/local/mysql/conf.d/
12. 之后的操作与在线安装步骤5-11一致。
三、 系统准备工作:
1. Centos7更改主机名:
在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户
(如Linuxidc)。
hostnamectl查看主机名的相关设置:
只查看静态、瞬态或灵活主机名,分别使用“--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。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论