搭建PXC集群------mysql高可用集群

部署环境: CentOS7.X

1、关闭selinux   vi /etc/selinux/config

SELINUX=disabled #修改该项为disabled

立即生效setenforce 0

2、查看防火墙是否开启     systemctl status firewalld

如果防火墙是开启状态,则开放端口 3306 、4444、4567、4568

firewall-cmd --add-port=3306/tcp --permanent     #开放了3306端口

开放完4个端口后,重新加载防火墙规则

firewall-cmd --reload

3、安装Persona仓库

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

4、安装PXC(保证服务器没有装MySQL)

yum install Percona-XtraDB-Cluster-57

5、开启PXC服务

systemctl start mysqld

6、查看安装数据库的临时密码并记住

grep 'temporary password' /var/log/mysqld.log

7、登录MySQL数据库

mysql -u root -p

输入临时密码

登录成功后修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

7、停止MySQL服务

systemctl stop mysqld

8、配置节点

vi  /etc/percona-xtradb-cluster.conf.d/wsrep.cnf

修改配置文件

# Cluster connection URL contains IPs of nodes
#If no IP is found, this implies that a new cluster needs to be created,
#in order to do that you need to bootstrap this node

#集群中节点的IP地址(本机填最后)
wsrep_cluster_address=gcomm://ip地址,IP地址,IP地址(用,号隔开)

# In order for Galera to work correctly binlog format should be ROW
binlog_format=ROW

# MyISAM storage engine has only experimental support
default_storage_engine=InnoDB

# Slave thread to use
wsrep_slave_threads= 8
wsrep_log_conflicts

# This changes how InnoDB autoincrement locks are managed and is a requirement for Galera
innodb_autoinc_lock_mode=2

# Node IP address
#当前节点IP
wsrep_node_address=IP地址
# Cluster name
#集群名称
wsrep_cluster_name=pxc-cluster

#If wsrep_node_name is not specified,  then system hostname will be used
#当前节点名称
wsrep_node_name=pxc-cluster-node-1

#pxc_strict_mode allowed values: DISABLED,PERMISSIVE,ENFORCING,MASTER
#不使用实验功能
pxc_strict_mode=ENFORCING

# SST method
#状态快照传输(sst)方法,官方建议
wsrep_sst_method=xtrabackup-v2

#Authentication for SST method
#用户凭证(mysql的用户名和密码)

wsrep_sst_auth="用户名:密码"

剩下的节点修改当前节点名、当前节点IP、集群中的节点IP,其他相同

1---8步骤  每个节点都要配置一次

9、初始化集群节点

其中一个节点使用 systemctl start [email protected] 启动

登录mysql

mysql -u root -p

开启 wsrep_causal_reads

set wsrep_causal_reads =1;

10、创建配置文件中对应的用户   所有节点的IP都要创建

创建用户:    CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';

刷新权限:   GRANT all privileges ON *.* TO '用户名'@'localhost' ;

FLUSH PRIVILEGES;

创建用户:    CREATE USER '用户名'@'当前需要访问数据库的IP地址' IDENTIFIED BY '密码';

刷新权限:   GRANT all privileges ON *.* TO '用户名'@'当前节点IP地址' ;

FLUSH PRIVILEGES;

11、其他节点使用   service mysql start  启动 ,登录mysql,配置wsrep_causal_reds,set wsrep_causal_reads =1;

12、其他节点启动成功后在引导节点(使用 systemctl start [email protected] 命令启动的节点)

验证集群:show status like 'wsrep%';

13、节点数据同步验证

在当前节点创建一个数据库

CREATE DATABASE percona;

启动其他节点的数据库服务,进去后会发现新建的数据库,同理 其他节点创建的数据  当前节点也能看到

注意开启关闭命令应对应使用

systemctl stop [email protected]  启用是用 systemctl start [email protected]

systemctl stop mysqld                         systemctl start start mysqld

原文地址:http://blog.51cto.com/yangkui/2153834

时间: 2024-10-10 20:12:11

搭建PXC集群------mysql高可用集群的相关文章

企业主流MySQL高可用集群架构三部曲之PXC

前段时间,老张给大家介绍了企业中主流MySQL高可用集群架构三部曲中的前两部,有不了解的同学可以去访问我之前的博客内容. 第一部曲直通车>> 企业中MySQL主流高可用架构实战三部曲之MHA 第二部曲直通车>>企业中MySQL高可用集群架构三部曲之MM+keepalived 独家新课程上线>>MySQL体系结构深入剖析及实战DBA视频课程 今儿给大家介绍最后一部曲,是percona公司的percona xtraDB cluster.简称PXC.它是基于GaLera协议的

heartbeat v2配置高可用web集群和基于nfs搭建MySQL高可用集群

安装环境:Centos 6.4, httpd2.4,mysql5.5,heartbeat v2 提供两台机器node1和node2,在/etc/hosts文件中添加名称解析,并且主机名称要与节点名称要相同,即uname -n的名称要和hosts定义的名称必须一样. #   IP                         HOSTNAME             ALIAS 10.204.80.79     node1.mylinux.com     node1 10.204.80.80  

企业中MySQL高可用集群架构三部曲之MM+keepalived

各位老铁们,老张与大家又见面了.看到各位在博客里面给我的留言和访问量的情况,我很是欣慰,也谢谢大家对我的认可.我写这些博客,就是想把自己对于MySQL数据库的一些看法和自己平时的实战经验分享出来,我们可以一起探讨,共同进步.也保证今后只要一有空就更新博文,推出更多的干货. 我的学生经常对我说:"张老师,每次我遇到报错,有时还是会百度,但是最烦的是不知道百度哪篇帖子说的是正确的".其实这些呢,都是因为自己还没有对MySQL数据库核心知识的不熟悉,和对技术掌握的不牢固.平时下得功夫还是不到

mysql高可用集群——MHA架构

目录 1.下载 2.搭建mha 2.1 系统配置 2.2 架构 2.3 添加ssh公钥信任 2.4 安装mha节点 2.5 manager配置文件 2.6 检查 2.7 启动manager进程 2.8 碰到的问题 3.测试切换 3.1 正常切换测试 3.2 回切测试 3.3 雪崩测试 3.4 主从不一致切换测试 下载 mha链接地址:http://pan.baidu.com/s/1pJkDGX9#dir/path=%2Fmysql%2FHA%2Fmha 或者:https://code.googl

mysql高可用集群方案

这里有一篇关于Mysql高可用方案的干货文章:[干货分享] 一文了解数据库高可用容灾方案的设计与实现 网友们公司中的使用方案讨论:想问各位大大 MySQL 是怎么做高可用的? 一.Mysql高可用解决方案 方案一:共享存储 一般共享存储采用比较多的是 SAN/NAS 方案. 方案二:操作系统实时数据块复制 这个方案的典型场景是 DRBD,DRBD架构(MySQL+DRBD+Heartbeat) 方案三:主从复制架构 主从复制(一主多从) MMM架构(双主多从) MHA架构(多主多从) 方案四:数

# IT明星不是梦 # MySQL高可用集群之MMM

MySQL高可用集群之MMM 一.MMM简介 MMM即Multi-Master Replication Manager for MySQL(mysql多主复制管理器),基于perl实现,关于mysql主主复制配置的监控.故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),MMM也能对从服务器进行读负载均衡,所以可以用它来在一组用于复制的服务器启动虚拟IP,除此之外,它还有实现数据备份.节点之间重新同步功能的脚本.MySQL本身没有提供replication failover

MySQL高可用集群之MHA

MySQL高可用集群之MHA 一.MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件.在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用. MHA里有两

通过MMM构建MYSQL高可用集群系统

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.4的读笔记 MMM集群套件(MYSQL主主复制管理器) MMM套件主要的功能是通过下面三个脚本实现的 1)mmm_mond 这是一个监控进程,运行在管理节点上,主要负责都所有数据库的监控工作,同时决定和处理所有节点的角色切换 2)mmm_agentd 这是一个代理进程,运行在每个MYSQL服务器上,主要完成监控的测试工作以及执行简单的远端服务设置 3)mmm_control 简单的管理脚本,用来查看和管理集群运行状态,同事管理mmm_mo

基于Corosync + Pacemaker+DRBD实现MySQL高可用集群

前言 在众多的高可用集群解决方案中,除了Heartbeat之外,Corosync也能提供类似于Heartbeat一样的功能,而且目前RedHat官方提供的高可用集群解决方案的程序包都以Corosync为主,所以在未来的日子Corosync会逐渐取代Heartbeat.本文带来的是基于Corosync + Pacemaker+DRBD的MySQL高可用集群解决方案. 相关介绍 Corosync Corosync是从OpenAIS中分支出来的一个项目,它在传递信息的时候可以通过一个简单的配置文件来定