本篇内容主要讲解“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
查看是否有多余系统,有则卸载
[root@bug ~]# rpm -qa|grep mairadb
[root@bug ~]# rpm -qa|grep mysql
关闭防火墙
[root@bug ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: 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]# reboot
1.2 安装MySQL8.0
[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自动集群部署
部署节点1
[root@bug ~]# mysqlsh
MySQL JS > dba.deploySandboxInstance(3310);
A new MySQL sandbox instance will be created on this host in
/root/mysql-sandboxes/3310
Warning: Sandbox instances are only suitable for deploying and
running on your local machine for testing purposes and are not
accessible from external networks.
Please enter a MySQL root password for the new instance: ******
Deploying new MySQL instance...
Instance localhost:3310 successfully deployed and started.
Use shell.connect('root@localhost:3310'); to connect to the instance.
第一个节点部署完毕,端口设置为3310,登陆账号为root@localhost,密码 ******
使用本地认证的方式, 登陆数据库实例,进行验证。
[root@bug ~]# mysql -uroot -porange -S /root/mysql-sandboxes/3310/sandboxdata/mysqld.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
同样的方法,部署节点2,节点3。
MySQL 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 类的中间件。当主机发生故障后,自动将应用切换到其他实例。
mysql>
证明MySQL-router配置完成可用。
1.6验证集群效果
1,通过router同时登陆三个节点,查看端口号。
2,在节点1构造数据,在节点2,3差看状态,验证数据同步性。
3,节点1(主机)离线,查看集群状态与节点2,节点3状态,验证灾备能力。
到此,相信大家对“MySQL8.0 MIC高可用集群的搭建过程”有了更深的了解,不妨来实际操作一番吧!
大型站长资讯类网站!