由于公司数据量与并发的日渐增大,普通的主从复制已无法满足要求。对比了网上PXC、galera、mysql cluster等方案,最终决定选择galera cluster。

以下为安装步骤:

1、下载galera for mysql与galera插件包(galera-25.3.5-1.rhel6.x86_64.rpm)。

2、安装依赖,与mysql依赖一样。

yum groupinstall "Development tools" "Server Platform Development" libxml2-devel lz4 lz4-devel libpcap nmap lsof socat libaio bison ncurses ncurses-devel openssl vim wget lrzsz zlib* pcre perl kytea cmake make gcc gcc-c++ -y

3、解压,编译,与传统mysql差不多,只不过多了两个编译参数,分别为:-DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON。即:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=/usr/local/boost -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DSYSCONFDIR=/etc/mysql/ -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_EMBEDDED_SERVER=1 -DWITH_READLINE=1  -DEXTRA_CHARSETS=all -DWITH_SSL=bundled -DWITH_READLINE=1-DWITH_zlib=bundled -DWITH_SSL=yes -DWITH_WSREP=ON -DWITH_INNODB_DISALLOW_WRITES=ON

4、复制mysql.server文件到/etc/init.d/:

cp -a /usr/local/mysql-wsrep-5.7.21-25.14/support-files/mysql.server /etc/init.d/mysqld

cp -a /usr/local/mysql-wsrep-5.7.21-25.14/support-files/wsrep.cnf /etc/my.cnf.d/wsrep.cnf

chmod +x /etc/init.d/mysqld

4.5、初始化数据库:

  5.7之前:

  mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  5.7之后:

  mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

mysql -uroot -p进入后,创建并授权复制账号。

编辑/etc/hosts文件,加入节点名称及IP地址。

5、配置文件:

注意:

在my.cnf文件中要写入:!includedir /etc/mysql/conf.d/

my.cnf配置(node1节点):

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
!includedir /etc/my.cnf.d/
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/node1.pid

6、修改/etc/my.cnf.d/wsrep.cnf文件配置:

(1)wsrep_provider=/usr/lib64/galera/libgalera_smm.so          #插件包so的位置

(2)wsrep_cluster_name="mysql"                       #所有节点必须一样

(3)wsrep_cluster_address="gcomm://192.168.152.138,192.168.152.139"   #添加除自己之外的其他节点的IP

(4)wsrep_node_name=node3    #节点名称

(5)wsrep_node_incoming_address=localhost:3306    #本机端口

(6)wsrep_sst_auth=root:123456    #通过什么账号与密码进行复制。

7、启动节点:

先启动第一个主节点,命令:service mysqld start --wsrep-new-cluster

后启动其他节点:service mysqld start

galera cluster安装与配置的更多相关文章

  1. galera cluster,mysql配置wsrep_notify_cmd参数,增加邮件告警

    vi /usr/local/sunlight/wsrep_notify_cmd.sh chown mysql:mysql  /usr/local/sunlight/wsrep_notify_cmd.s ...

  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. Ubuntu 下 Galera cluster for MySQL 集群安装

    mysql galera cluster官网:http://galeracluster.com/documentation-webpages/ 相关安装教程:(不一定管用) http://blog.c ...

  5. MariaDB Galera Cluster部署手册

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

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

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

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

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

  8. 利用MariaDB Galera Cluster实现mariadb的多主复制

    一.MariaDB Galera Cluster概要: .简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的 ...

  9. MariaDB Galera Cluster 部署

    原文  http://code.oneapm.com/database/2015/07/02/mariadb-galera-cluster/MariaDB作为Mysql的一个分支,在开源项目中已经广泛 ...

随机推荐

  1. 洛谷 P2764 最小路径覆盖问题【匈牙利算法】

    经典二分图匹配问题.把每个点拆成两个,对于原图中的每一条边(i,j)连接(i,j+n),最小路径覆盖就是点数n-二分图最大匹配.方案直接顺着匹配dsf.. #include<iostream&g ...

  2. 【数据结构】27、红黑树,节点插入,修复平衡操作总结(针对jdk8中hashmap冲突过多链表转红黑树)

    二叉树节点插入 0.如果只有一个节点,那么就直接作为根,涂黑,如果父为黑,或者祖父为空,那么不做操作 1.叔叔节点不为空且为红 那么就修改父,叔叔,祖父节点颜色,最后把当前节点设置为祖父节点,在进行平 ...

  3. VS2010创建C++静态链接库创建和使用

    VS2010创建C++静态链接库的方法: 1. 创建一个新项目,在已安装的模板中选择“常规”,在右边的类型下选择“空项目”,在名称和解决方案名称中输入 staLIB.点击确定. 2.在解决方案资源管理 ...

  4. Zznu 1913: yifan and matrix (多路归并)

    题目链接: 1913: yifan and matrix 题目描述: 有一个n*n的矩阵,在每一行取出一个数,可以得到n个数的和,问前n小的和分别是多少? 解题思路: 对于两个数组a[n],b[n], ...

  5. HDU 5558 后缀数组

    思路: 这是一个错误的思路, 因为数据水才过= = 首先求出来后缀数组 把rank插到set里 每回差i两边离i近的rank值,更新 如果LCP相同,暴力左(右)继续更新sa的最小值 //By Sir ...

  6. C#扩展方法学习

    扩展方法的本质是什么,详细见此文 C#扩展方法,爱你在心口难开 重点如下:扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法 ...

  7. Struts2 第三个程序 namespacce的用法

    1.创建web项目,添加struts2支持的类库,在web.xml中配置struts2过滤器. 2.创建名为UserAction的Action对象,并分别在其中编写add()和update()方法,用 ...

  8. @ComponentScan、@EnableFeignClients和@MapperScan注解笔记

    @ComponentScan:此注解是用来管理容器中的bean,即是管理项目中类的依赖关系, 注意此注解并不创建类的实例: 默认情况下此注解扫描本工程下的所有包,                    ...

  9. GatewayWorker+Laravel demo

    GatewayWorker 结合 Laravel 使用的简单案例,重点是在Laravel中使用GatewayClient发送消息 主要流程:GatewayWorker主要负责推送消息给客户端但不接受客 ...

  10. vue-element:文件上传七牛之key和异步的问题

    效果图: html 代码: <el-form-item label="Excel文件" :label-width="formLabelWidth" pro ...