CentOS7.2下MariaDB的安裝

centos7.2安裝mariadb集羣:

1、關閉SELinux:

先查看SELinux狀態:/usr/sbin/sestatus -v,如果SELinux status: enabled,說明是開啓狀態,修改/etc/selinux/config 文件
將SELINUX=enforcing改爲SELINUX=disabled
重啓機器即可。或者setenforce 0臨時關閉。

2、關閉防火牆

systemctl start firewalld.service#啓動firewall
systemctl stop firewalld.service#停止firewall搜索
systemctl disable firewalld.service#禁止firewall開機啓動

3、安裝mariadb cluster

創建文件:
vi /etc/yum.repos.d/MariaDB.repo
添加如下內容:

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

線上安裝:

sudo yum install MariaDB-Galera-server MariaDB-client galera MariaDB-server MariaDB-shared

或者是安裝已下載的安裝包:

rpm -ivh MariaDB-10.1.18-centos7-x86_64-common.rpm MariaDB-10.1.18-centos7-x86_64-shared.rpm MariaDB-10.1.18-centos7-x86_64-server.rpm MariaDB-10.1.18-centos7-x86_64-client.rpm galera-25.3.18-1.rhel7.el7.centos.x86_64.rpm 

修改文件/etc/my.cnf.d/server.cnf(先按照單機方式進行配置):

[mysqld]
port = 3806
user = mysql

# * Galera-related settings
[galera]

#bind-address=0.0.0.0
# This group is only read by MariaDB servers, not by MySQL.
# If you use the same .cnf file for MySQL and MariaDB,
# you can put MariaDB-only options here
[mariadb]

# This group is only read by MariaDB-10.1 servers.
# If you use the same .cnf file for MariaDB of different versions,
# use this group for options that older servers don't understand
[mariadb-10.1]

4、啓動單節點(master)的mysql服務

systemctl start mariadb

其他的節點slave1,slave2也是這樣安裝並配置,並啓動mysql服務,初始化數據庫。

5、更改數據庫目錄位置

關閉節點(如master節點)的mysql服務

systemctl stop mariadb

創建數據存放的目錄,如我放在/data/mariadb目錄下:

mkdir -p /data/mariadb
chown -R mysql:mysql /data/mariadb

複製默認數據存放文件夾到/data/mariadb

cp -a /var/lib/mysql /data/mariadb

然後修改/etc/my.cnf.d/server.cnf:

vim /etc/my.cnf.d/server.cnf

在[mysqld]標籤下添加:

datadir = /data/mariadb/mysql
socket = /var/lib/mysql/mysql.sock

這裏順便把集羣信息也配置了,
在[galera]標籤下添加:

wsrep_on=ON
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
wsrep_provider = /usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address = "gcomm://master,slave1,slave2"
wsrep_node_name = hostname
wsrep_node_address=local_ip

6、對其他節點的配置文件進行更改

按照第5步對slave1和slave2進行操作,關閉服務,創建數據庫目錄/data/mariadb,更改權限,複製默認數據存放文件
夾到/data/mariadb,修改/etc/my.cnf.d/server.cnf文件。

7、啓動集羣

啓動該命令的節點將成爲主節點(如在master節點):

mysqld --wsrep-new-cluster --user=root &

然後啓動slave1和slave2的mysql服務:

service mysql start

添加新節點:

在新節點按照1~3步驟安裝Mariadb,但是文件/etc/my.cnf.d/server.cnf要改下對應的ip和節點名wsrep_node_name
和wsrep_node_address,改成這個新節點的主機名和ip。
然後在新節點上執行命令啓動mariadb服務:

systemctl start mariadb

然後master上執行

show status like 'wsrep_%'

就可以看到wsrep_cluster_size節點數爲2了。

刪除節點:

在待刪除節點上執行命令停止mariadb服務

systemctl stop mariadb

然後在master節點上執行

show status like 'wsrep_%',

就可以看到wsrep_cluster_size節點數變成1了。


備註

ps -ef是查看所有的進程
可以查看mariadb服務是否啓動:
在第一個啓動節點上執行 ps -ef | grep wsrep,如果啓動,會有進程:

root      21312  19869  0 17:55 pts/1    00:00:02 mysqld --wsrep-new-cluster --user=root

在其他節點上執行 ps -ef | grep wsrep,如果啓動,會有進程:

mysql    4625    1  0 17:55 ?     00:00:01 /usr/sbin/mysqld --wsrep_start_position=a282f0f5-9171-11e6-88cd-8e886d712351:21

刪除mariadb,要刪徹底:
找到任何與mariadb相關的,刪掉

find / -name "mariadb" -exec rm -rf {} \;
yum remove Maria*
yum remove galera
發佈了71 篇原創文章 · 獲贊 322 · 訪問量 55萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章