本篇内容主要讲解“MySQL多主复制和MySQL Galera的安装部署方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL多主复制和MySQL Galera的安装部署方法”吧!
特性简介
MySQL/Galera是MySQL/InnoDB的多主集群,有以下特性:
– 同步复制
– Active-active的多主拓扑结构
– 集群任意节点可以读和写
– 自动身份控制,失败节点自动脱离集群
– 自动节点接入
– 真正的基于”行”级别和ID检查的并行复制
– 无单点故障,易扩展
安装前准备
机器准备
G221 : 192.168.1.221 (Centos 6.4)
G222 : 192.168.1.222 (Centos 6.4)
G223 : 192.168.1.223 (Centos 6.4)
安免费主机域名装依赖
– 确认安装有gcc和gcc-c++的版本为至少4.4
– 确认安装有boost-devel的版本至少为1.4.1
– 安装scons check-devel openssl-devel
MySQL Galera安装
安装含wsrep Patch的MySQL 5.5.29
安装Galera复制插件
MySQL Galera配置
MySQL Galera配置例子:
注: 可参考MySQL wsrep参数
MySQL Galera启动与关闭
初次启动:
免费主机域名
或
查看mysqld监听的端口:
注:
1)”gcomm://”是特殊的地址,仅仅是galera cluster初始化启动时候使用,再次启动的时候需要使用具体的IP地址.
2) 端口4567是wsrep使用的默认端口.该端口的防火墙设置规则应该和3306的一样.
关闭:
添加新节点
节点接入
添加新节点的时候,新接入的节点叫Joiner,给joiner提供复制的节点叫Donor.新的节点接入需要:
1) 安装带wsrep patch的MySQL版本
2) 安装Galera复制插件
3) 配置好新节点的MySQL(参考Donnor的my.cnf)
4) 配置或启动的gcomm://的地址是需要使用donnor的IP.
接入节点G222:
接入节点G223:
修改节点的wsrep_cluster_address修改wsrep_cluster_address有两种方式:1)使用新的wsrep_cluster_address重启节点:
2)直接修改MySQL全局变量
查看相关变量
查看MySQL版本:
查看wsrep版本:
查看wsrep有关的所有变量:
状态监控
查看Galera集群状态: 监控状态说明
wsrep_last_committed:最后提交的事务数目
wsrep_local_cert_failures和wsrep_local_bf_aborts:回滚,检测到的冲突数目(www.51itstudy.com)
wsrep_local_send_queue_avg:网络瓶颈的预兆.如果这个值比较高的话,可能存在网络瓶
wsrep_flow_control_paused:表示复制停止了多长时间.即表明集群因为Slave延迟而慢的程度.值为0~1,越靠近0越好,值为1表示复制完全停止.可优化wsrep_slave_threads的值来改善.
wsrep_cert_deps_distance:有多少事务可以并行应用处理.wsrep_slave_threads设置的值不应该高出该值太多.
wsrep_flow_control_sent:表示该节点已经停止复制了多少次.
wsrep_local_recv_queue_avg:表示slave事务队列的平均长度.slave瓶颈的预兆.
wsrep_ready: 该值为ON,则说明可以接受SQL负载.如果为Off,则需要检查wsrep_connected.
wsrep_connected: 如果该值为Off,且wsrep_ready的值也为Off,则说明该节点没有连接到集群.(可能是wsrep_cluster_address或wsrep_cluster_name等配置错造成的.具体错误需要查看错误日志)
wsrep_local_state_comment:如果wsrep_connected为On,但wsrep_ready为OFF,则可以从该项查看原因.
wsrep_cluster_state_uuid:在集群所有节点的值应该是相同的,有不同值的节点,说明其没有连接入集群.
wsrep_cluster_conf_id:正常情况下所有节点上该值是一样的.如果值不同,说明该节点被临时”分区”了.当节点之间网络连接恢复的时候应该会恢复一样的值.
wsrep_cluster_size:如果这个值跟预期的节点数一致,则所有的集群节点已经连接.
wsrep_cluster_status:集群组成的状态.如果不为”Primary”,说明出现”分区”或是”split-brain”状况.
集群完整性检查:
节点状态检查:
复制健康检查:
最慢的节点的wsrep_flow_control_sent和wsrep_local_recv_queue_avg这两个值最高.这两个值较低的话,相对更好.
检测慢网络问题:
冲突或死锁的数目:
Galera arbitrator
garbd可以做为一个无数据的Galera节点运行,该节点可以用一种优化的方式帮助检测和处理网络分裂(network splits).
一个好的garbd节点可以防止”split-brain”状况发生.
SSL支持
Galera支持SSL通讯,这对增加数据安全性很重要(特别是云部署).可以通过参数socket.ssl_cert和socket.ssl_key来定义.
SST方式选择
SST允许新接入的节点使用定制的方法来获取最初的数据.SST方式有mysqldump(默认,比较慢),rsync,和xtrabackup(很快).
可通过wsrep_sst_method来定义.Production环境中建议使用rsync或是xtrabackup方式. 到此,相信大家对“MySQL多主复制和MySQL Galera的安装部署方法”有了更深的了解,不妨来实际操作一番吧!这里是云技术网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
本篇内容介绍了“数据库查询中遭遇特殊字符的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 数据库查询中的特殊字符的问题 在进行数据库的查询时,会经常遇到…