admin 管理员组文章数量: 1086019
2023年12月19日发(作者:rank函数详解)
Alex Qin
adaivskenan@
MariaDB Galera Cluster安装
一、 在线安装:
1. 配置MariaDB源:
使用命令vi /etc/.d/创建MariaDB源。
在MariaDB官网可以根据具体的操作系统配置相应的MariaDB源,/mariadb/repositories/如图:
2.
安装MariaDB和Galera
使用命令yum install MariaDB-Galera-server galera MariaDB-client安装MariaDB-client和MariaDB-Galera-server。
Alex Qin
adaivskenan@
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.
创建文件
[root@mdb1 ~]# cp /usr/share/mysql/ /etc/.d/
[root@mdb1 ~]# vi /etc/.d/
修改如下3行:
wsrep_provider=/usr/lib64/galera/libgalera_
wsrep_cluster_address="gcomm://"
wsrep_sst_auth=sst:sstpass123
注意:
"gcomm://" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须改gcomm://"为其他节点的集群地址,例如wsrep_cluster_address="gcomm://192.168.4.13.:4567"
7.
在/etc/中加入如下一行包含文件
!includedir /etc/.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 -> „如下图所示:
Alex Qin
adaivskenan@
e.配置Node A重新加入集群,修改/etc/.d/中的wsrep_cluster_address地址指向Node N。
wsrep_cluster_address="gcomm://Node-N-IP:4567"这样形成一个环,形成集群后每个结点都是彼此可以相互发现的。
二、 离线安装:
1. 下载MariaDB Galera Cluster 安装包
地址:/mariadb-galera/10.0/
Alex Qin
adaivskenan@
选择相应的安装包下载。或者使用命令wget
/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.
添加或覆盖配置并修改文件
cd /usr/local/mysql
cp support-files/ /etc/
vi /etc/
在[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@
log-error=/usr/local/mysql/log/
4.
增加配置文件中用到的文件
mkdir /usr/local/mysql/conf.d
mkdir /usr/local/mysql/log
vi /usr/local/mysql/log/(启动失败后查看错误信息)
将mysql加入服务
cp /usr/local/mysql/support-files/ /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/
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_,libgalera_为wsrep(提供数据库集群写复制)
或者:wget /centos/7/x86_64/7.x86_
安装galera:rpm -ivh 7.x86_
11.
创建配置文件:
cp /usr/local/mysql/support-files/ /usr/local/mysql/conf.d/
12.
之后的操作与在线安装步骤5-11一致。
三、 系统准备工作:
1.
Centos7更改主机名:
在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Linuxidc)。
hostnamectl查看主机名的相关设置:
Alex Qin
adaivskenan@
只查看静态、瞬态或灵活主机名,分别使用“--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。
版权声明:本文标题:MariaDB集群安装总结 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1702985447a438491.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论