扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
下面讲讲关于企业主流MySQL高可用集群架构应用工具PXC,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完企业主流MySQL高可用集群架构应用工具PXC这篇文章你一定会有所受益。
成都创新互联公司专业为企业提供息烽网站建设、息烽做网站、息烽网站设计、息烽网站制作等企业网站建设、网页设计与制作、息烽企业网站模板建站服务,十载息烽做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。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高可用集群架构应用工具PXC相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流