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.178linux.com/72244

(0)
N23-苏州-voidN23-苏州-void
上一篇 2017-03-30 21:13
下一篇 2017-03-31 23:29

相关推荐

  • Linux用户和组的相关命令(二、组的相关命令)

    用户和组之间息息相关。创建用户时 ,Linux系统会默认生成一个与用户名相同的组,这个组是用户的私有组,也是用户的主组。对用户来说,主组有且只有一个,但是可以有零个或多个附加组。可以在组内设置组管理员来管理组内的用户列表,组管理员可以删除用户列表内的组员。组管理员不唯一,可以有零个或多个。 关于组及其属性和组密码及其属性的有关信息保存在/etc/group和…

    2017-07-22
  • 初识Linux之——Linux是如何诞生的

    初识Linux之——Linux是如何诞生的 对于大多数初次接触Linux的童鞋,可能会非常好奇什么是Linux?它是做什么的?为什么那么多高手都喜欢Linux?Linux是如何产生出来的呢?本文将为大家解答释疑,让大家对Linux有一个清晰的概念。 Linux是什么 简单来说,如Windows7、Windows10、安卓、IOS等,Linux是一个计算机操作…

    Linux干货 2016-10-14
  • Linux Basic–磁盘分区

    附件: 磁盘管理相关方法.pdf

    Linux干货 2016-11-21
  • sed行编辑器与vim编辑器

    一、sed行编辑器   1、简介:sed的本身也是一个管道命令,可以分析标准输入,还可以将数据进行替换、删除、新增、选取特定行的功能   2、工作原理:sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”( pattern space),接着用sed命令处理缓冲区中的内容…

    Linux干货 2016-08-11
  • 网络基础总结

    这周南老师出差了,由王老师给我们代课,这周我们主要学习了网络基础,相比着之前,主要是理论加理解。下面我总结一下。 处于21世纪的我们,互联网时代,网络在我们身边的各个角落,覆盖了我们的衣食住行,带来 很多方便;首先什么是网络, 家庭办公室,移动用户,总部,分支机构。。。都在用互联网相连着,省去了许多麻烦,时间,加快了办公效率; 资源共享的功能和优点:数据和应…

    2017-09-02
  • 利用PXE技术批量安装linux系统

    技术背景 对与运维人员来说,如何安装操作系统想必并不陌生;但当我们面对大量需要安装系统的环境时,自动化安装系统就成了一项必备的技能;下面就让我们一起走进PXE这项批量自动化安装操作系统的技术吧。 PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,…

    2017-09-18

评论列表(1条)

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

    在实验开始之前可以介绍一下Galera Cluster的原理、特性等,加油!!!