环境:  CentOS 7 x64  *  3

IP : 192.168.0.100

IP : 192.168.0.101

IP : 192.168.0.102

配置mariadb YUM 源

http://yum.mariadb.org/10.0.15/rhel7-amd64/rpms/

分别下载软件 MariaDB-Galera-10.0.15

wget http://mirrors.neusoft.edu.cn/mariadb/mariadb-galera-10.0.15/source/mariadb-galera-10.0.15.tar.gz

vi /etc/yum.repos.d/mariadb.repo

-----------------------------------------------------------------------------

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.0.15/centos7-amd64/

enabled = 1

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

------------------------------------------------------------------------------

yum makecache

yum -y install galera MariaDB-client socat cmake lsof perl-DBD-MySQL perl-Digest-MD5 perl-Time-HiRes rsync libev zlib-devel

rpm -ivh percona-xtrabackup-2.2.8-5059.el7.x86_64.rpm

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

mkdir -p /opt/local/mysql/data

mkdir -p /opt/local/mysql/binlog

mkdir -p  /opt/local/mysql/logs

mkdir -p /opt/local/mysql/relaylog

mkdir -p /var/lib/mysql

mkdir -p /opt/local/mysql/wsrep

tar zxvf mariadb-galera-10.0.15.tar.gz

cd mariadb-10.0.15

cmake -DCMAKE_INSTALL_PREFIX="/opt/local/mysql" -DDEFAULT_CHARSET=utf8 -DMYSQL_DATADIR="/opt/local/mysql/data/" -DCMAKE_INSTALL_PREFIX="/opt/local/mysql" -DINSTALL_PLUGINDIR=plugin -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_COLLATION=utf8_general_ci -DENABLE_DEBUG_SYNC=0 -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=1 -DWITH_ZLIB=system -DWITH_EXTRA_CHARSETS=none -DMYSQL_MAINTAINER_MODE=OFF -DEXTRA_CHARSETS=all -DWITH_FAST_MUTEXES=ON -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1

make -j `cat /proc/cpuinfo | grep processor| wc -l`

make install

chmod +w /opt/local/mysql

chown -R mysql:mysql /opt/local/mysql

chmod +w /var/lib/mysql

chown -R mysql:mysql /var/lib/mysql

cp /opt/software/my.cnf /opt/local/mysql/my.cnf

./scripts/mysql_install_db --defaults-file=/opt/local/mysql/my.cnf --basedir=/opt/local/mysql --datadir=/opt/local/mysql/data --user=mysql

cp ./support-files/mysql.server  /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

echo 'basedir=/opt/local/mysql/' >> /etc/init.d/mysqld

echo 'datadir=/opt/local/mysql/data' >>/etc/init.d/mysqld

service mysqld start

ln -s /opt/local/mysql/lib/mysql /usr/lib/mysql

ln -s /opt/local/mysql/include/mysql /usr/include/mysql

ln -s /opt/local/mysql/bin/mysql /usr/bin/mysql

ln -s /opt/local/mysql/bin/mysqldump /usr/bin/mysqldump

ln -s /opt/local/mysql/bin/myisamchk /usr/bin/myisamchk

ln -s /opt/local/mysql/bin/mysqld_safe /usr/bin/mysqld_safe

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

/opt/local/mysql/bin/mysqladmin -u root password 'rldb123'

chkconfig mysqld on

/opt/local/mysql/bin/mysql_secure_installation              #mysql 安全加固

# 登陆数据库,授权用于集群同步的用户和密码

/opt/local/mysql/bin/mysql -uroot -p

GRANT ALL PRIVILEGES ON *.* TO 'sst'@'localhost' IDENTIFIED BY 'rldb123';

GRANT ALL PRIVILEGES ON *.* TO 'sst'@'同步ip' IDENTIFIED BY 'rldb123';

FLUSH PRIVILEGES;

# 配置wsrep.cnf文件

cp /opt/local/mysql/support-files/wsrep.cnf /opt/local/mysql/wsrep

vi /opt/local/mysql/wsrep/wsrep.cnf

修改如下

wsrep_provider=/usr/lib64/galera/libgalera_smm.so

wsrep_cluster_address="gcomm://"

wsrep_sst_auth=sst:rldb123

wsrep_sst_method=xtrabackup

wsrep_node_address=192.168.0.100

# 注意:

#    "gcomm://" 是特殊的地址,仅仅是Galera cluster初始化启动时候使用。

#    如果集群启动以后,我们关闭了第一个节点,那么再次启动的时候必须先修改,"gcomm://"为其他节点的集群地址,

例如 wsrep_cluster_address="gcomm://192.168.0.101:4567"

vi /opt/local/mysql/my.cnf

在[client] 下面 增加

!includedir /opt/local/mysql/wsrep

配置完成以后,重启mysqld

service mysqld restart

netstat -tulpn |grep -e 4567 -e 3306

登录mysql 查看 global 的 status

/opt/local/mysql/bin/mysql -uroot -p

show global status like '%state%';

+-------------------------------------------+--------------------------------------+

| Variable_name                             | Value                                |

+-------------------------------------------+--------------------------------------+

| Performance_schema_statement_classes_lost | 0                                    |

| wsrep_local_state_uuid                    | b74966e2-a20a-11e4-96f1-c6bffca5b0ea |

| wsrep_local_state                         | 4                                    |

| wsrep_local_state_comment                 | Synced                               |

| wsrep_cluster_state_uuid                  | b74966e2-a20a-11e4-96f1-c6bffca5b0ea |

+-------------------------------------------+--------------------------------------+

接下来就是 其他节点的添加!  步骤大概相同

构造新节点的操作步骤如下:

1.安装MariaDB和Galera library

2.wsrep_cluster_address的配置不一样:

wsrep_cluster_address="gcomm://Node-A-IP,Node-B-IP"   # 这里指向是指上一层的集群地址

3.重起MariaDB

所有节点配置完成以后,更改节点1的 wsrep_cluster_address="gcomm://" 为其他IP

并 加入 仲裁人

"仲裁人"节点上没有数据,它在集群中的作用就是在集群发生分裂时进行仲裁,集群中可以有多个"仲裁人"节点。

"仲裁人"节点加入集群的方法如下:

garbd -a gcomm://192.168.0.100:4567 -g my_wsrep_cluster -d

# 注释:参数说明: -d:以daemon模式运行 -a:集群地址 -g: 集群名称

测试集群是否配置好参数:登陆数据库:查看如下几个参数:

SHOW VARIABLES LIKE 'wsrep_cluster_address';

# 这个查看wsrep的相关参数

show status like 'wsrep%';

-----------------------------------------------------------------------------------------

配置相同,出现无法启动同步的时候,通常都是因为权限问题。

所有节点都执行授权.

chmod +w /opt/local/mysql

chown -R mysql:mysql /opt/local/mysql

然后再启动同步..

启动完成以后,再次执行授权命令..

通常是因为 data 目录下面的 ib_logfile0 ib_logfile1 ib_logfile2 为root 权限 所以不能同步,导致的。

------------------------------------------------------------------------------------------

Mariadb galera 群集的更多相关文章

  1. mariadb galera群集故障记录

    负责galera上执行删除语句 delete from t1 where group_id= and group_id=; 执行后,群集破坏,除了主节点存活,其他俩个节点全都停掉. 查看galera的 ...

  2. Mariadb Galera Cluster 群集 安装部署

    #Mariadb Galera Cluster 群集 安装部署 openstack pike 部署  目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...

  3. 从 MySQL+MMM 到 MariaDB+Galera Cluster : 一个高可用性系统改造

    很少有事情比推出高可用性(HA)系统之后便经常看到的系统崩溃更糟糕.对于我们这个Rails运行机的团队来说,这个失效的HA系统是MySQL多主复制管理器(MMM). 我们已经找寻MMM的替代品有一段时 ...

  4. Linux下MySQL/MariaDB Galera集群搭建过程

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  5. MariaDB Galera Cluster部署手册

    MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1>  yum install opens ...

  6. MariaDB Galera Cluster 10.1 只支持 LINUX ?!

    MariaDB Galera Cluster  (MariaDB 10.1) 当前只支持:LINUX ! 参考: https://mariadb.com/kb/en/mariadb/getting-s ...

  7. 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇

    前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...

  8. 迁移到MariaDB galera

    迁移到MariaDB galera [已注销] [已注销] -- :: [安装] ====== https://downloads.mariadb.org/mariadb/repositories/ ...

  9. MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)  OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...

随机推荐

  1. sqlserver 2008 查看表描述,和表结构

    sp_help sys_user sp_columns   sys_user --表结构 THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , c ...

  2. hdu 1535 Invitation Cards(SPFA)

    Invitation Cards Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 65536/65536K (Java/Other) T ...

  3. Callable、Future和FutureTask区别

    在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就 ...

  4. Ubuntu下安装Intellij IDEA和PyCharm

    需要先安装JDK 官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载 ...

  5. 转:Loadrunner——Block(块)技术

    在使用LoadRunner时经常遇到这样一个问题,如果对不同的事务进行不同次数的循环该怎么处理?默认情况下LR对所有的事务都是统一执行的,即虽然有多个事务,但它们被执行的循环次数都是一样的,那么LR如 ...

  6. js List<Map> 将偏平化的数组转为树状结构并排序

    数据格式: [ { "id":"d3e8a9d6-e4c6-4dd8-a94f-07733d3c1b59", "parentId":&quo ...

  7. jq的事件冒泡

    在页面上可以有多个事件,也可以多个元素响应同一件事, 事件冒泡引发的问题: 有些时候不想动用的事件,却因为事件冒泡而触发 解决问题: 1.事件对象 由于IE-DOM和标准的DOM实现事件对象的方法各不 ...

  8. Struts2 语法--验证方式:

    第一种方式: 重写validation方法, ====验证action中所有的方法: 1. 在UserAction1里重写validation: @Override public void valid ...

  9. 在数据库里面有这么一个表:用m代表男,用f代表女,现在我要输出格式为中文的:男和女,sql语句该怎么写

    在数据库里面有这么一个表:用m代表男,用f代表女,现在我要输出格式为中文的:男和女, sql语句该怎么写 select  case sex when 'm' then '男' else '女'   a ...

  10. space 管理

    输入:表空间名字 输出:表空间下的一个文件即退出 /tmp/.sql select name from v$database; set serveroutput on; declare i1 varc ...