企业主流MySQL高可用集群架构三部曲之PXC 推荐 原创 张甦 2017-08-14 13:37:39 博主文章分类:MySQL ©著作权 文章标签 MySQL 高可用 PXC 文章分类 MySQL 数据库 ©著作权归作者所有:来自51CTO博客作者张甦的原创作品,如需转载,请与作者联系,否则将追究法律责任 前段时间,老张给大家介绍了企业中主流MySQL高可用集群架构三部曲中的前两部,有不了解的同学可以去访问我之前的博客内容。第一部曲直通车>> 企业中MySQL主流高可用架构实战三部曲之MHA第二部曲直通车>>企业中MySQL高可用集群架构三部曲之MM+keepalived独家新课程上线>>MySQL体系结构深入剖析及实战DBA视频课程今儿给大家介绍最后一部曲,是percona公司的percona xtraDB cluster.简称PXC。它是基于GaLera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性。PXC 架构图:pxc就属于一套近乎完美的MySQL高可用集群架构方案;优点总结:可以达到时时同步,无延迟现象发生完全兼容MySQL对于集群中新节点的加入,维护起来很简单数据的强一致性不足之处总结:只支持Innodb存储引擎存在多节点update更新问题,也就是写放大问题在线DDL语句,锁表问题sst针对新节点加入的传输代价过高的问题实战过程:环境介绍:192.168.56.100 node1 192.168.56.101 node2 192.168.56.102 node3安装之前的注意事项:三台机器的防火墙iptables都要关闭,三台机器的server-id不能一样。PXC软件包下载:https://www.percona.com/downloads/Percona-XtraDB-Cluster-56/LATEST/这里我下载的是:Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz接下来三台机器上都需要针对基础软件包进行安装,使用yum安装即可,解决依赖性。 perl-IO-Socket-SSL.noarch perl-DBD-MySQL.x86_64 perl-Time-HiRes openssl openssl-devel socat在节点一(192.168.56.100)上执行操作:先解压软件包并赋予权限cd /usr/local/ tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql chown mysql:mysql -R mysql mkdir -p /data/mysql chown mysql:mysql -R /data/mysql配置pxc的参数文件,这里就比普通的MySQL参数文件多如下几点:提及一点注意事项:这里binlog的格式必须row#pxc default_storage_engine=Innodb innodb_autoinc_lock_mode=2 wsrep_cluster_name=pxc_zs ---------------集群的名字 wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中节点的IP) wsrep_node_address=192.168.56.100------当前机器的ip地址 wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so wsrep_sst_method=xtrabackup-v2 (sst传输方法) wsrep_sst_auth=sst:zs (账号权限)初始化数据:/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/ --defaults-file=/etc/my.cnf --user=mysql启动第一节点的服务:cd /usr/local/mysql/support-files cp mysql.server /etc/init.d/mysql[root@node1 support-files]# /etc/init.d/mysql bootstrap-pxc Bootstrapping PXC (Percona XtraDB Cluster)MySQL (Percona Xt[ OK ]ster) running (4740)启动成功之后,维护数据库环境并创建用户mysql> delete from mysql.user where user!='root' or host!='localhost'; mysql> grant all privileges on *.* to 'zs'@'%' identified by 'zs'; mysql> grant all privileges on *.* to 'sst'@'localhost' identified by 'zs'; mysql> flush privileges;在节点二(192.168.56.101)上执行操作:cd /usr/local/ tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql chown mysql:mysql -R mysql mkdir -p /data/mysql chown mysql:mysql -R /data/mysql编辑pxc的配置文件:#pxc default_storage_engine=Innodb innodb_autoinc_lock_mode=2 wsrep_cluster_name=pxc_zs ---------------集群的名字 wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中节点的IP) wsrep_node_address=192.168.56.101------当前机器的ip地址 wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so wsrep_sst_method=xtrabackup-v2 (sst传输方法) wsrep_sst_auth=sst:zs (账号权限)初始化数据:/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/ --defaults-file=/etc/my.cnf --user=mysql启动第二个节点的服务:cd /usr/local/mysql/support-files cp mysql.server /etc/init.d/mysql[root@node2 mysql]# /etc/init.d/mysql start Starting MySQL (Percona XtraDB Cluster).. [ OK ]在第三个节点(192.168.56.102)上面执行:cd /usr/local/ tar -zxvf Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64.tar.gz ln -s Percona-XtraDB-Cluster-5.6.21-rel70.1-25.8.938.Linux.x86_64 mysql chown mysql:mysql -R mysql mkdir -p /data/mysql chown mysql:mysql -R /data/mysql编辑pxc的配置文件:#pxc default_storage_engine=Innodb innodb_autoinc_lock_mode=2 wsrep_cluster_name=pxc_zs ---------------集群的名字 wsrep_cluster_address=gcomm://192.168.56.100,192.168.56.101,192.168.56.102(集群中节点的IP) wsrep_node_address=192.168.56.102------当前机器的ip地址 wsrep_provider=/usr/local/mysql/lib/libgalera_smm.so wsrep_sst_method=xtrabackup-v2 (sst传输方法) wsrep_sst_auth=sst:zs (账号权限)初始化数据:/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/ --defaults-file=/etc/my.cnf --user=mysql启动第三个节点的服务:cd /usr/local/mysql/support-files cp mysql.server /etc/init.d/mysql[root@node3 mysql]# /etc/init.d/mysql start Starting MySQL (Percona XtraDB Cluster).. [ OK ]注:其他两个节点同样进行安装与初始化的操作;但启动方式不是以/etc/init.d/mysql bootstrap-pxc,换成/etc/init.d/mysql start 这种方式三个节点都已经启动成功,这样在任意一个节点上面,执行一条DML语句的操作,都会同步到另外两个节点。至此张老师的企业级MySQL主流高可用集群架构三部曲就完结了!有欠妥的地方,请大家多多指教。今后还会出更多好文章奉献给大家,技术只有在无限的分享中,得到进一步地升华!让我们一起加油! 赞 收藏 评论 分享 举报 上一篇:MySQL DBA必备工具使用的6大锦囊妙计 下一篇:MySQL主从延迟解决方案 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 使用Docker-Compose部署MySQL一主二从同步高可用MHA集群 (文章目录)?博主介绍?我是廖志伟,一名Java开发工程师、Java领域优质创作者、博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文专业写手、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。?跑过十五公里、?徒步爬过衡山、?有过三个月减肥20斤的经历、是个喜欢躺平的狠人。?拥有多年一线研发和团队管理经验,研究过主流框架的底层源码( mysql docker 《Linux 高可用负载均衡集群实践真传》正式面市 终于等到啦!"Linux高可用实践真传系列"三本终于全部弄齐了,总的来说算是圆满。本书为《Linux企业级高可用实践真传》系列丛书之《Linux 高可用负载均衡集群实践真传》。是一本专门介绍主流负载均衡技术的原创书籍,是作者二十多年来一线运维工作的经验总结。负载均衡技术是服务或应用高可用的基础,不论是Web应用,还是数据库,要保证访问的持续性,负载均衡技术的支持不可或缺,至关重要。本书囊括了常规类 负载均衡 高可用 负载均衡技术 高可用keeplived、HAproxy HAproxy与Keepalived VRRP一、简介1.1 HAproxy HAProxy(High Availability Proxy)是一个高性能的开源负载均衡器和代理服务器,用于分发网络流量。它是一个免费的、快速的、可靠的解决方案,常用于提供高可用性、负载均衡和代理服务。HAProxy最初是为Linux系统设计的,但现在已经在多个平台上可用,包括各种Unix系统和Windows 服务器 企业中MySQL高可用集群架构三部曲之MM+keepalived 各位老铁们,老张与大家又见面了。看到各位在博客里面给我的留言和访问量的情况,我很是欣慰,也谢谢大家对我的认可。我写这些博客,就是想把自己对于MySQL数据库的一些看法和自己平时的实战经验分享出来,我们可以一起探讨,共同进步。也保证今后只要一有空就更新博文,推出更多的干货。我的学生经常对我说:“张老师,每次我遇到报错,有时还是会百度,但是最烦的是不知道百度哪篇帖子说的是正确的".其实这些呢,都是因为 MySQL 高可用 企业中MySQL主流高可用架构实战三部曲之MHA 老张最近两天有些忙,一些老铁一直问,啥时更新博文,我可能做不到天天更新啊,但保证以后一有空就写一些干货知识分享给大家。我们如果想要做好技术这项工作,一定要做到理论与实践先结合。我一个曾经被数据库虐得体无完肤的过来人给大家一些建议;就是只看书,背理论真的行不通,到时遇到棘手的问题,你还是一样抓瞎。一定要在理论理清的基础上多做实验。给自己定个目标,3个月做够100-500个实验。然后整理在做实验过程中 mysql 架构 高可用 攻击三部曲 侦察阶段将扫描和测试系统的有效安全性。对网络进行侦察意味着定位出网络资源的具体情况,包括IP 地址、开放的端口、网络拓扑等。这种分析工作需要大量的时间,通常可以使用自动运行的扫描工具。渗透阶段渗透意味着能够绕过安全控制机制,如登陆帐号和密码,你可以通过使加密无效从而破坏数据的机密性和完整性。例如拒绝攻击服务。控制阶段控制意味着可以随心所欲的管理网络和主机。审计人员通过演示他可以控制网络 职场 Hacker 休闲 晋级三部曲 人生晋级三部曲王国维《人间词话》:“古今之成大事业、大学问者,必经过三种之境界: ‘昨夜西风凋碧树。独上高楼,望尽天涯路’。此第一境也。 ‘衣带渐宽终不悔,为伊消得人憔悴。’此第二境也。 ‘众里寻他千百度,蓦然回首,那人却在,灯火阑珊处’。此第三境也。” 要成大事者,必经历三境界。第一境界:找方向,定目标。第二境界:持之以恒,几十年如一日的为之而努力。第三种境界: 成功三部曲 年前Mysql总结三部曲(三) “order by”是怎么工作的?全字段排序Extra 这个字段中的“Using filesort”表示的就 字段 主键 mysql AJAX 核心三部曲 〈script lanuage = "Javascript"〉 //创建对象 function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObje AJAX 递归解题三部曲 前言递归算法解题容易让人随着递归而递归(也就是说容易在想本次递归的时候想到了下一次递归的事情)一定要走出这种递归误区!我们只有注意本次递归做什么即可我们需要关心的主要是以下三点:整个递归的终止条件。本地递归需要做什么?应该返回给上一级的返回值是什么?因此,也就有了我们递归解题的三部曲:递归终止条件:递归应该在什么时候结束?本次递归做什么操作:在这一级递归中,应该完成什么任务?返回什么:应 递归 最大深度 链表 devops落地三部曲 "DevOps落地三部曲"——构建强大的红帽DevOps实践在如今快节奏的软件开发行业中,为了保持竞争力,组织必须采取一些策略来加快软件交付速度、提高质量、降低成本,并且满足客户需求。这就是为什么越来越多的企业转向DevOps文化的原因。作为一种软件开发和运维的合作模式,DevOps着力于通过持续集成、持续交付和自动化流程来打破开发和运维之间的壁垒。在红帽(Red Hat)的帮助下,我们可以迈 运维 自动化工具 开发人员 低代码三部曲之起因 最近几年在软件开发领域,低代码被吹捧的到了天际,好像你没接触过低代码你都不好意思说自己在软件领域工作,其实,大可不必,这其中很大一部分是资本催生的结果,也有一部分是新技术的出现,让一些玩文字的人创造了一个新名字而已,我应该是10几年前就在这方面做开发,所以很早就想总结下低代码,春节期间没有回老家,正好梳理下,一共有三篇文章,分别是起因、实现、未来,这篇文章是第一篇,总结下起因的渊源。 自定义 表单 系统架构 低代码三部曲之未来 最近几年在软件开发领域,低代码被吹捧的到了天际,好像你没接触过低代码你都不好意思说自己在软件领域工作,其实,大可不必,这其中很大一部分是资本催生的结果,也有一部分是新技术的出现,让一些玩文字的人创造了一个新名字而已,我应该是10几年前就在这方面开发,所以很早就想总结下低代码,春节期间没有回老家,正好梳理下,一共有三篇文章,分别是起因、实现、未来,这篇文章是第三篇,总结下低代码未来趋势。 使用场景 代码实现 系统架构 400 入门三部曲 应答流程:外线-序号-序号对应的TEAM。 2,一个team一个小组。 3.每个team设置好相关属性即可。 电话 集团 三部曲 调用组件三部曲 现有一个Footer的组件进行调用:<Footer></Footer>import Footer from '@/components/base/footer' components: {CereHeader, SiteNav, Footer} vue2 redis三部曲之————密码管理 redis三部曲之————密码管理 redis三部曲之————密码管理 文件加密三部曲 电脑加密三部曲除了及时做好备份外,对重要文档或数据进行加密应该说是一个比较好的办法,这样可以最大限度地防止被恶意用户访问或误删除。第一部 操作系统级加密Windows2000/XP提供了对文件夹进行加密的功能,当然我们也可以用它来保护文件。在使用操作系统提供的加密功能前,需要确认待加密文件夹所在的分区格式为NTFS,因为只有在NTFS下才能使用这个功能,可以在“命令提示符”窗口 职场 文件 休闲 文件加密 三部曲 搭建svn三部曲 搭建SVN服务,有效的管理代码,以下三步可以快速搞定。1、安装 #yum install subversion 判断是否安装成功 #subversion -v svnserve, version 1.6.11 (r934486)出现上面的提示,说明安装成功。有了SVN软件后还需要建立SVN库。 #mkdir /opt/svn/repos #svnadmin create /o 职场 svn 休闲 Android经典三部曲: Android经典三部曲:老罗的《android系统源代码情景分析》 多多的《android软件安全与逆向分析》allong的《android的设计与实现 》老罗:罗升阳多多:丰生强allong:杨云君Android领域最用心,内容最好的三本书,极力推荐。 开发 android Linux安装三部曲 Linux 成为了你的操作系统。它是一个由来自世界各地的人们开发的操作系统,其核心是一个:创造一种参与、共同拥有、合作管理的计算文化。如果你有兴趣更好地了解开源,那么就请你迈出一步,了解它的一个光辉典范 Linux,并安装它。 linux linux运维 网络运维 红帽 集群