Centos 7 MariaDB Galera cluster 部署
一、安装环境准备
1、系统:
CentOS Linux release 7.4.1708 (Core)
2、hosts
10.6.32.51 openstack1
10.6.32.52 openstack2
10.6.32.53 openstack3
3、关闭防火墙和Selinux
4、同步时间:
博客:http://www.cnblogs.com/weijie0717/p/8549204.html
5、查看和卸载 系统原有的 mariadb、mysql (必须卸载,否则后期会有问题):
# rpm -qa | grep -i maria
# rpm -qa | grep -i mysql
# yum remove mariiadb
# yum remove mysql
二、集群部署
1、包安装
# yum install MariaDB-Galera-server galera
# yum install percona-xtrabackup -y
# yum install perl-Time-HiRes.x86_64 socat percona-toolkit -y
2、修改基础配置文件 (所有节点操作)
# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
# vim /etc/my.cnf
注释以下行:
binlog_format=mixed
server-id =
# vim /etc/my.cnf.d/server.cnf
添加或取消注释如下行:
[mysqld]
#....
datadir=/var/lib/mysql
log-error=/var/log/mysqld.log [galera]
#...
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
3、启动服务,修改密码 (节点1操作)
# systemctl start mysql
# mysql # mariadb 默认没有密码,可以直接进入
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
MariaDB [(none)]> GRANT ALL ON *.* TO 'galera'@'localhost' IDENTIFIED BY 'yourpasswd'; (添加用户:galera,后期集群配置文件用到 )
4、配置集群文件 (所有节点)
# vim /etc/my.cnf.d/server.cnf
添加如下行,红色字体为个节点的差异配置,和自定义配置。
bind-address=10.6.32.51
server-id=101
wsrep_cluster_name=openstack_cluster
wsrep-provider=/usr/lib64/galera/libgalera_smm.so
wsrep_node_name = openstack1
wsrep_cluster_address=gcomm://10.6.32.51,10.6.32.52,10.6.32.53
wsrep_node_address=10.6.32.51
wsrep_provider_options =gmcast.listen_addr=tcp://10.6.32.51:4567
wsrep_sst_donor=openstack1,openstack2,openstack3
wsrep_sst_method=xtrabackup-v2 #集群数据同步方式( xtrabackup-v2或rsync 都需要安装所匹配的插件)
wsrep_sst_auth=galera:yourpasswd
slow_query_log=on
5、集群启动
a、当集群中还没有节点启动时,确认所有节点上没有mysql进程,如果有请关闭。(所有节点操作)
# ps -aux | grep mysql
# kill -9 mysql-id
b、启动集群中第一个节点。(openstack1 上操作)
# /usr/libexec/mysqld --wsrep-new-cluster (当且仅当 集群中没有任何节点开启,启动第一个节点时使用)
c、启动其他节点,逐台启动,然后查看集群状态
# systemctl start mysqld (集群中有节点后就可以正常启动。openstack2 和openstack3 上依次启动,启动一台查看依次集群状态)

d、重新启动第一个节点的数据库(opoenstsck1上操作)
# kill -i mysq-id (因为第一次为非正常启动,需要使用kill 杀掉进程来关闭mysql)
# systemctl restart mysqld
(如果重启失败,请查看/var/lib/mysql/mysql.sock.lock 是否存在,如果存在,删除后重新启动。)
e、在各节点使用 数据同步用户galera登录,如果可以正常启动并登录成功。到此,Galera Cluster 已经成功部署。
三、测试
参考:Centos 7 下 Mysql 5.7 Galera Cluster 集群部署
谢谢!!!
Centos 7 MariaDB Galera cluster 部署的更多相关文章
- MariaDB Galera Cluster部署手册
MariaDB Galera Cluster部署手册 galara保证双主数据库的同步及一致性 1.环境准备 基于新部署.最小化安装centos6.5 1> yum install opens ...
- MariaDB Galera Cluster 部署(如何快速部署MariaDB集群)
MariaDB Galera Cluster 部署(如何快速部署MariaDB集群) [日期:--] 来源:Linux社区 作者:Linux [字体:大 中 小] MariaDB作为Mysql的一个分 ...
- MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)
MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群) OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...
- MariaDB Galera Cluster 部署 + keepalived实现高可用
MariaDB Galera Cluster 部署 MariaDB作为Mysql的一个分支,在开源项目中已经广泛使用,例如大热的openstack,所以,为了保证服务的高可用性,同时提高系统的负载能力 ...
- MariaDB Galera Cluster 部署
原文 http://code.oneapm.com/database/2015/07/02/mariadb-galera-cluster/MariaDB作为Mysql的一个分支,在开源项目中已经广泛 ...
- MariaDB Galera Cluster部署实践
原理 官方地址:http://galeracluster.com/documentation-webpages/index.html Galera Cluster与传统的复制方式不同,不通过I/O_t ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- Mariadb Galera Cluster 群集 安装部署
#Mariadb Galera Cluster 群集 安装部署 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...
- MariaDB Galera Cluster集群搭建
MariaDB Galera Cluster是什么? Galera Cluster是由第三方公司Codership所研发的一套免费开源的集群高可用方案,实现了数据零丢失,官网地址为http://g ...
随机推荐
- 40. 数据泵导入导出impdp、expdp
一.查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories; 二.创建逻辑目录,该命令不会在 ...
- 06.linux文件目录操作命令
文件目录操作命令: ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 t ...
- 文件系统(File System)
什么是文件系统,引用百科解释: 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统. 文件系统是操作系统核心的组成部分,没有它我们无法完成对文件的增.删.改.查等基本操作 概念 ...
- Linux下安装FTP服务(Ubuntu)
在Ubuntu 14.04 上安装 FTP 服务 第一步>>更新库 linuxidc@linuxidc:~$ sudo apt-get update 第二步>>采用如下命令安装 ...
- PHP实现防sql注入
在查询数据库时需要防止sql注入 实现的方法: PHP自带了方法可以将sql语句转义,在数据库查询语句等的需要在某些字符前加上了反斜线.这些字符是单引号(').双引号(").反斜线(\)与 ...
- hive基础操作
hive --version 查看hive的版本 hive -S -e "set" | grep auto ##在shell下可以查找属性的状态.小技巧.
- AIR程序调用本地默认应用程序打开本地文件
当我用下面语句的时候,可以成功打开桌面文件夹下面的文件: var file:File = File.desktopDirectory.resolvePath("test.jpg") ...
- javascript:控制一个元素高度始终等于浏览器高度
window.onresize = function(){ this.opHtight()} //给浏览器添加窗口大小改变事件window.onresize = function(){ this.op ...
- ajax用户名存在检测
一.ajax请求的四个步骤: 1.创建ajax对象 var xmlhttp=new XMLHttpRequest();//IE5,IE6以外的浏览器 var xmlhttp=new ActiveXOb ...
- nginx的websock问题解决
生产环境中有一个项目需要使用到websock,但是项目上线后发现websock连接后马上断开,但是在测试环境没有问题,后来就想到配置文件和nginx版本问题 核对后发现,nginx和配置文件都是相同的 ...