galera cluster安装与配置
由于公司数据量与并发的日渐增大,普通的主从复制已无法满足要求。对比了网上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安装与配置的更多相关文章
- galera cluster,mysql配置wsrep_notify_cmd参数,增加邮件告警
vi /usr/local/sunlight/wsrep_notify_cmd.sh chown mysql:mysql /usr/local/sunlight/wsrep_notify_cmd.s ...
- Mariadb Galera Cluster 群集 安装部署
#Mariadb Galera Cluster 群集 安装部署 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...
- 从 MySQL+MMM 到 MariaDB+Galera Cluster : 一个高可用性系统改造
很少有事情比推出高可用性(HA)系统之后便经常看到的系统崩溃更糟糕.对于我们这个Rails运行机的团队来说,这个失效的HA系统是MySQL多主复制管理器(MMM). 我们已经找寻MMM的替代品有一段时 ...
- Ubuntu 下 Galera cluster for MySQL 集群安装
mysql galera cluster官网:http://galeracluster.com/documentation-webpages/ 相关安装教程:(不一定管用) http://blog.c ...
- MariaDB Galera Cluster部署手册
MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1> yum install opens ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群) OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...
- 利用MariaDB Galera Cluster实现mariadb的多主复制
一.MariaDB Galera Cluster概要: .简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的 ...
- MariaDB Galera Cluster 部署
原文 http://code.oneapm.com/database/2015/07/02/mariadb-galera-cluster/MariaDB作为Mysql的一个分支,在开源项目中已经广泛 ...
随机推荐
- bzoj 3307: 雨天的尾巴【树剖lca+树上差分+线段树合并】
这居然是我第一次写线段树合并--所以我居然在合并的时候加点结果WAWAWAMLEMLEMLE--!ro的时候居然直接指到la就行-- 树上差分,每个点建一棵动态开点线段树,然后统计答案的时候合并即可 ...
- bzoj 3930: [CQOI2015]选数【快速幂+容斥】
参考:https://www.cnblogs.com/iwtwiioi/p/4986316.html 注意区间长度为1e5级别. 则假设n个数不全相同,那么他们的gcd小于最大数-最小数,证明:则gc ...
- django views视图函数
Django views.py视图文件 一. 创建views.py文件,在工程文件夹根目录创建views.py视图文件,其实任意文件名都可以,使用views是为了遵循传统. 注:所有的views函数都 ...
- 转 SQL*PLUS中的替换变量(& &&)
今天oracle support提供一个脚本,大致如下: PROMPT ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID PROMPT OPERATION_SEQUENCE ...
- hbase rpc这点事
年前的时候系统梳理了一下hbase rpc的实现,并且对组里的小伙伴做了一次分享.趁着热乎劲还没完全消失殆尽,准备赶紧记录下来. hbase中rpc概况 作为一个分布式系统,hbase的设计是典型的m ...
- js 常用处理
判断浏览器环境是PC端还是手机端 function goPAGE() { if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios| ...
- 写给W小姐的一封信
生活 琐碎 Hallo,Preaty.对于跟人说话,我很不擅长如何开头.我不知道什么样的开头是符合我在别人心目中我应有的形象.我不知道什么样的开头符合别人预想中与我相匹配的内容.或者说什么的开头才是一 ...
- hihocoder1705 座位问题
思路: 使用堆模拟.复习了priority_queue自定义结构体比较函数的用法. 实现: #include <bits/stdc++.h> using namespace std; ty ...
- javascript中闭包与作用域的理解
很多js的框架与插件编写都用到了闭包,所以,阅读和掌握闭包很有必要.最近学习vue框架时,经常会猜想很多功能的native js实现,很多都应用到了闭包,闭包除了目前已知的一些特性,如:可以保持局部变 ...
- java.lang.String 字符串操作
1.获取文件名 //获取文件名,即就是去掉文件的后缀 /** * mypic.jpg * 获取文件名 * 1. 先找到"."的位置 * 2. 从第一个字符开始截取到".& ...