MySQL高可用架構之Galera Cluster

MySQL高可用架構之Galera Cluster

1、實驗準備及拓撲

至少需要三個節點

node1 192.168.150.137
node2 192.168.150.138
node3 192.168.150.139

mariadb版本為mariadb的支持galera cluster的分支版本

MariaDB-Galera-server-5.5.46

實驗前準備:

1、HA環境首要條件:時間同步
三個節點添加對時腳本
[root@localhost ~]# crontab -l
*/5 * * * * /usr/sbin/ntpdate 1.cn.pool.ntp.org

2、三個幾點均配置MariaDB-Galera的本地yum倉庫,我嘗試使用mariadb官方提供的yum倉庫,天朝的網會氣死你
[root@localhost ~]# cat /etc/yum.repos.d/galera.repo 
[galera]
name=galera
baseurl=file:///root/galera_cluster
gpgcheck=0
enable=1

3、yum安裝,僅需安裝MariaDB-Galera-server,其余的均會依賴安裝
yum -y install Mariadb-Galera-server

2、配置

1、查看galera所需調用的庫的位置
rpm -ql galera | grep -i smm.so
/usr/lib64/galera/libgalera_smm.so

2、修改配置文件,三節點同步修改
[root@localhost yum.repos.d]# cat /etc/my.cnf.d/server.cnf
#
# These groups are read by MariaDB server.
# Use it for options that only the server (but not clients) should see
#
# See the examples of server my.cnf files in /usr/share/mysql/
#

# this is read by the standalone daemon and embedded servers
[server]

# this is only for the mysqld standalone daemon
[mysqld]

#
# * Galera-related settings
#
[galera]
# Mandatory settings
wsrep_provider=/usr/lib64/galera/libgalera_smm.so 
wsrep_cluster_address="gcomm://192.168.150.137,192.168.150.138,192.168.150.139"
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_cluster_name='mycluster'
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0

# this is only for embedded server
[embedded]

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

# These two groups are 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]

[mariadb-5.5]

3、節點1進行mysql及cluster開啟
[root@localhost ~]# /etc/rc.d/init.d/mysql start --wsrep-new-cluster    
Starting MySQL.... SUCCESS! 

4、其它兩個節點進行正常的mysql開啟
[root@localhost ~]# service mysql start
Starting MySQL....SST in progress, setting sleep higher. SUCCESS! 

此時已配置完成。。。。。。

3、功能驗證

1、節點1創建數據庫,節點2 3均可正常查看
節點1:[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.46-MariaDB-wsrep MariaDB Server, wsrep_25.12.r4f81026

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE mydb;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
+--------------------+

節點2 3:
[root@localhost ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.46-MariaDB-wsrep MariaDB Server, wsrep_25.12.r4f81026

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.01 sec)



2、節點2數據庫中創建表,節點1 2均可正常查看
節點2:
MariaDB [(none)]> use mydb;
Database changed
MariaDB [mydb]> CREATE TABLE tb1 (id int,name char(10));
Query OK, 0 rows affected (0.01 sec)

節點1 3:
MariaDB [(none)]> use mydb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mydb]> SHOW TABLES
    -> ;
+----------------+
| Tables_in_mydb |
+----------------+
| tb1            |
+----------------+
1 row in set (0.00 sec)

MariaDB [mydb]> DESC tb1;
+-------+----------+------+-----+---------+-------+
| Field | Type     | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id    | int(11)  | YES  |     | NULL    |       |
| name  | char(10) | YES  |     | NULL    |       |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.02 sec)

3、自增欄位的測試,每個幾點會跳著進行自增,同時插入時例如1節點1 4 7;2節點2 5 8;三節點3 6 9。
節點1:
MariaDB [mydb]> CREATE TABLE tb2(id int UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,name char(30)
uery OK, 0 rows affected (0.01 sec)

MariaDB [mydb]> INSERT INTO tb2 (name) VALUES ('void'),('yao');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

節點2:
MariaDB [mydb]> select * from tb2;
+----+------+
| id | name |
+----+------+
|  1 | void |
|  4 | yao  |
+----+------+
2 rows in set (0.01 sec)

MariaDB [mydb]> INSERT INTO tb2 (name) VALUES ('amy'),('apple');
Query OK, 2 rows affected (0.00 sec)
Records: 2  Duplicates: 0  Warnings: 0

MariaDB [mydb]> select * from tb2;
+----+-------+
| id | name  |
+----+-------+
|  1 | void  |
|  4 | yao   |
|  5 | amy   |
|  8 | apple |
+----+-------+
4 rows in set (0.00 sec)

原創文章,作者:N23-蘇州-void,如若轉載,請注明出處:http://www.www58058.com/72244

(0)
N23-蘇州-voidN23-蘇州-void
上一篇 2017-03-30
下一篇 2017-03-31

相關推薦

  • Linux 第四天: (07月28日) 練習和作業

    Linux 第四天: (07月28日) 練習和作業         定義別名命令baketc, 每天將/etc/目錄下所有文件, 備份到/testdir獨立的子目錄下, 并要求子目錄格式為backupYYYY-mm-dd, 備份過程可見 alias baketc='cp -a /etc/ /testdir/b…

    Linux干貨 2016-08-08
  • ansible初識

    主要組成部分,相關配置文件

    2018-01-21
  • 計算機基礎與linux入門

    計算機硬件組成:     運算器:主要完成算術運算,邏輯運算     控制器:控制指令的執行序列,根據指令的功能給出實現指令功能所需要的控制信號     存儲器:存放程序以及一些數據     &nbs…

    Linux干貨 2015-12-19
  • Linux發行版的基礎目錄名稱、命名法則及功能規定

    Linux發行版的基礎目錄名稱、命名法則及功能規定 / 主層次的根,也是整個文件系統層次結構的根目錄  /bin 存放系統的命令。  /boot 存放系統的啟動文件,及其內核。  /dev 系統設備文件主目錄。  /etc 系統主要配置文件主目錄。  /home 普通用戶家目錄。  /lib 系統庫…

    Linux干貨 2016-10-31
  • linux啟動流程+任務計劃

    20160907 一、作業 1、每周2, 4, 7備份/var/log/messages文件至/logs目錄中,文件名形如“messages-yyyymmdd” 2、每兩小時取出當前系統/proc/meminfo文件中以S或M開頭的信息追加至/tmp/meminfo.txt文件中 二、博客 1、centos5,6啟動流程 開機——POST…

    Linux干貨 2016-09-08
  • MySQL 簡述

    1 概述
    2 安裝
    3 數據庫的操作
    4 注意事項

    Linux干貨 2017-09-25

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-07 17:52

    在實驗開始之前可以介紹一下Galera Cluster的原理、特性等,加油?。?!

欧美性久久久久