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。