MySQL8.0 MIC高可用集群的搭建过程


本篇内容主要讲解“MySQL8.0 MIC高可用集群的搭建过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL8.0 MIC高可用集群的搭建过程”吧!一,集群部署1.1 安装环境;操作系统:Linux,版本:CentOS-7-x86介质准备:无环境清理释放yum进程[root@bug ~]# ps -ef|grep yum
root
22481
1694
5
17:23
? 00:00:03
/usr/bin/python /usr/share/PackageKit/helpers/yum/yumBackend.py
get-updates none
root
22591
22507
1
17:24
pts/
00:00:00
grep –color=auto yum
[root@bug ~]# kill -9
22481查看是否有多余系统,有则卸载12[root@bug ~]# rpm -qa|grep mairadb[root@bug ~]# rpm -qa|grep mysql关闭防火墙1234[root@bug ~]# systemctl status firewalld.service● firewalld.service – firewalld – dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: inactive (dead)关闭selinux,重启系统后生效[root@bug selinux]# vi /etc/selinux/config
SELINUX=disabled[root@bug selinux]# reboot1.2 安装MySQL8.0123[root@bug ~]# yum install -y wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm[root@bug ~]# yum list|grep mysql[root@bug ~]# yum install -y mysql-community-client.x86_64 mysql-router.x86_64 mysql-shell.x86_64采用YUM源安装方式,总下载量约400M,1.3自动集群部署部署节点1123456789101112131415[root@bug ~]# mysqlshMySQL JS > dba.deploySandboxInstance(3310);AnewMySQL sandbox instance will be createdonthishostin/root/mysql-sandboxes/3310Warning: Sandbox instances are only suitablefordeploying andrunningonyour local machinefortesting purposes and are notaccessiblefromexternal networks.Please enter a MySQL root passwordforthenewinstance: ******DeployingnewMySQL instance…Instance localhost:3310 successfully deployed and started.Use shell.connect(‘root@localhost:3310’); to connect to the instance.第一个节点部署完毕,端口设置为3310,登陆账号为root@localhost,密码******使用本地认证的方式, 登陆数据库实例,进行验证。123[root@bug ~]# mysql -uroot -porange -S /root/mysql-sandboxes/3310/sandboxdata/mysqld.sockmysql: [Warning] Using a passwordonthe command lineinterfacecan be insecure.Welcome to the MySQL monitor. Commands end with ; or g.同样的方法,部署节点2,节点3。123MySQL JS > dba.deploySandboxInstance(3320);MySQL JS > dba.deploySandboxInstance(3330);1.4创建集群此实验采用简单的创建本地集群。123456789101112MySQL JS > connect root@localhost:3310Creating a session to’root@localhost:3310’*****************************************************MySQL localhost:3310 ssl JS >varcluster=dba.createCluster(‘test’)AnewInnoDB cluster will be createdoninstance’root@localhost:3310′.*********************************************************Cluster successfully created. Use Cluster.addInstance() to add MySQL instances.At least 3 instances are neededforthe cluster to be able to withstand up toone server failure. 集群系统已经创建成功,最后一行:At least 3 instances are needed for the cluster to be able to withstand up toone server failure.提示需要至少三个实例,才能保证灾备,所以接下来,将节点2,3添加进集群。12345678MySQL localhost:3310 ssl JS > cluster.addInstance(‘root@localhost:3320’)The instance’root@localhost:3320’was successfully added to the cluster.MySQL localhost:3310 ssl JS > cluster.addInstance(‘root@localhost:3330’)The instance’root@localhost:3330’was successfully added to the cluster.查看集群状态1234567891011121314151617181920212223242526272829303132333435MySQL localhost:3310 ssl JS > dba.getCluster().status(){“clusterName”:”test”,”defaultReplicaSet”: {“name”:”default”,”primary”:”localhost:3310″,”ssl”:”REQUIRED”,”status”:”OK”,”statusText”:”Cluster is ONLINE and can tolerate up to ONE failure.”,”topology”: {“localhost:3310”: {“address”:”localhost:3310″,”mode”:”R/W”,”readReplicas”: {},”role”:”HA”,”status”:”ONLINE”},”localhost:3320″: {“address”:”localhost:3320″,”mode”:”R/O”,”readReplicas”: {},”role”:”HA”,”status”:”ONLINE”},”localhost:3330″: {“address”:”localhost:3330″,”mode”:”R/O”,”readReplicas”: {},”role”:”HA”,”status”:”ONLINE”}}},”groupInformationSourceMember”:”mysql://root@localhost:3310″}一个简单的包含三个节点的集群已经创建完成。可以完成数据同步,读写分离等功能,比如此刻3310端口的状态是”R/W”,同时read与write,3320与3330的状态是”R/O”,只读模式。1.5配置中间件此时的集群的高可用性还不完整,需要MySQL-router开发云主机域名来完成集群与外部的对接,实现自动切换,故障转移等功能。MySQL-router的作用类似keepalived 类的中间件。当主机发生故障后,自动将应用切换到其他实例。1234567891011121314151617181920212223[root@bug ~]# mysqlrouter –bootstrap root@localhost:3310 –user=mysqlrouterPlease enter MySQL passwordforroot: *****Bootstrapping system MySQL Router instance…Checkingforold Router accountsCreating account mysql_router2_j05xzi45m81x@’%’MySQL Router has now been configuredforthe InnoDB cluster’test’.The following connection information can be used to connect to the cluster.Classic MySQL protocol connections to cluster’test’:- Read/Write Connections: localhost:6446- Read/Only Connections: localhost:6447X protocol connections to cluster’test’:- Read/Write Connections: localhost:64460- Read/Only Connections: localhost:64470Existing configurations backed up to’/etc/mysqlrouter/mysqlrouter.conf.bak'[root@bug ~]# mysqlrouter&[1] 25602[root@bug ~]# ps -ef|grep routermysqlro+ 25602 22507 8 19:35 pts/0 00:00:01 mysqlrouterroot 25619 22507 0 19:36 pts/0 00:00:00 grep –color=auto router验证MySQL-router安装效果在MySQL-router默认配置下,主机端口:6446从库端口:644712345[root@bug ~]# mysql -uroot -h 127.0.0.1 -P 6446 -pEnter password:Welcome to the MySQL monitor. Commands end with ; or g.********************************************************8mysql> 证明MySQL-router配置完成可用。1.6验证集群效果1,通过router同时登陆三个节点,查看端口号。2,在节点1构造数据,在节点2,3差看状态,验证数据同步性。3,节点1(主机)离线,查看集群状态与节点2,节点3状态,验证灾备能力。到此,相信大家对“MySQL8.0 MIC高可用集群的搭建过程”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: MySQL计算相邻两行某列差值的方法

这篇文章给大家分享的是有关MySQL计算相邻两行某列差值的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。MySQL计算相邻两行某列差值的方法:首先通过【r1.rownum = r2.rownum – 1】来判断两条记录是否是前后…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/21 11:28
下一篇 06/21 11:28

相关推荐