linux下mysql-8.2.0集群部署(python版本要在2.7以上)
- 开源代码
- 2025-08-14 20:54:01

目录
一、三台主机准备工作
1、mysql官方下载地址: dev.mysql /downloads/
2、修改/etc/hosts
3、关闭防火墙
二、三台主机安装mysql-8.2.0
1、解压
2、下载相应配置
3、初始化mysql,启动myslq,设置开机自启
4、查看初始密码并登录
5、修改密码
三、三台主机安装mysql shell并部署使用
1、安装依赖
2、安装mysql shell
3、使用mysql shell部署集群
4、重启mysql
5、检测是否就绪
6、创建集群[root@sql01 ~]# mysqlsh --uri root@sql01:3306
7、获取集群对象 MySQL sql01:3306 ssl JS > var cluster = dba.getCluster('myCluster');
8、将另外2台加入 MySQL sql01:3306 ssl JS > cluster.addInstance('root@sql02:3306');
9、查看集群状态为ONLINE表示成功
四、mysql router安装
五、测试
六、当集群所有节点都miss ,如何恢复
一、三台主机准备工作 1、mysql官方下载地址: dev.mysql /downloads/
获取以下
mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar
mysql-router-community-8.2.0-1.el7.x86_64.rpm
mysql-shell-8.2.0-1.el7.x86_64.rpm
2、修改/etc/hosts [root@localhost ~]# vim /etc/hosts 192.168.6.150 sql01 192.168.6.162 sql02 192.168.6.165 sql03 [root@localhost ~]# hostnamectl set-hostname sql03 [root@localhost ~]# bash 3、关闭防火墙 [root@sql03 ~]# systemctl stop firewalld [root@sql03 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@sql03 ~]# setenforce 0 [root@sql03 ~]# iptables -F 二、三台主机安装mysql-8.2.0 1、解压 [root@sql03 ~]# tar -xvf mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar 2、下载相应配置 [root@sql03 ~]# rpm -ivh mysql-community-common-8.2.0-1.el7.x86_64.rpm [root@sql03 ~]# rpm -ivh mysql-community-client-plugins-8.2.0-1.el7.x86_64.rpm [root@sql03 ~]# rpm -ivh mysql-community-libs-8.2.0-1.el7.x86_64.rpm [root@sql03 ~]# rpm -ivh mysql-community-client-8.2.0-1.el7.x86_64.rpm [root@sql03 ~]# rpm -ivh mysql-community-icu-data-files-8.2.0-1.el7.x86_64.rpm [root@sql03 ~]# rpm -ivh mysql-community-server-8.2.0-1.el7.x86_64.rpm 3、初始化mysql,启动myslq,设置开机自启 [root@sql03 ~]# sudo rm -rf /var/lib/mysql/* [root@sql03 ~]# sudo -u mysql mysqld --initialize [root@sql03 ~]# chown mysql:mysql /var/lib/mysql -R [root@sql03 ~]# systemctl start mysqld.service; [root@sql03 ~]# systemctl enable mysqld; 4、查看初始密码并登录 [root@sql03 ~]# cat /var/log/mysqld.log | grep password 将上面命令最后一句话复制到password即可登录 [root@sql03 ~]# mysql -u root -p Enter password: 5、修改密码 mysql> create user 'root'@'%' identified with mysql_native_password by '123456'; Query OK, 0 rows affected (0.00 sec) 创建远程访问权限 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit; Bye 三、三台主机安装mysql shell并部署使用 1、安装依赖 [root@sql03 ~]# yum install libyaml -y 已加载插件:fastestmirror 2、安装mysql shell [root@sql03 ~]# rpm -ivh mysql-shell-8.2.0-1.el7.x86_64.rpm 3、使用mysql shell部署集群 [root@sql01 ~]# mysqlsh --uri root@sql01:3306 连接sql01 MySQL sql01:3306 ssl JS > \connect root@sql01:3306 配置本地实例的数据库管理员(DBA)。 MySQL sql01:3306 ssl JS > dba.configureLocalInstance() Do you want to perform the required configuration changes? [y/n]: y Do you want to restart the instance after configuring it? [y/n]: y 都选y 4、重启mysql[root@sql01 ~]# systemctl restart mysqld
5、检测是否就绪 [root@sql01 ~]# mysqlsh MySQL JS > dba.checkInstanceConfiguration('root@sql01:3306') { "status": "ok" } 6、创建集群 [root@sql01 ~]# mysqlsh --uri root@sql01:3306MySQL sql01:3306 ssl JS > var cluster = dba.createCluster('myCluster');
7、获取集群对象 MySQL sql01:3306 ssl JS > var cluster = dba.getCluster('myCluster'); 8、将另外2台加入 MySQL sql01:3306 ssl JS > cluster.addInstance('root@sql02:3306');Please select a recovery method [C]lone/[I]ncremental recovery/[A]bort (default Clone): c C是克隆,I是增量,A收中止
MySQL sql01:3306 ssl JS > cluster.addInstance('root@sql03:3306');
9、查看集群状态为ONLINE表示成功 四、mysql router安装只需要在一台上安装mysqlrouter
[root@sql01 ~]# rpm -ivh mysql-router-community-8.2.0-1.el7.x86_64.rpmvim /etc/mysqlrouter/mysqlrouter.conf
在[DEFAULT] 下 设置连接数: max_connections=1024
# 目前就支持两种 : read-write 和 read-only # read-write:用于高可用,用于可读可写 # read-only:用于负载均衡,只读
五、测试将PRIMARY(192.168.6.150)角色宕机
192.168.6.162会替代PRIMARY,即使150重新连接也不会取代
SECONDARY宕机后,重新连接会自动恢复集群状态
六、当集群所有节点都miss ,如何恢复进入mysql shell后用下列命令
mysql-js> dba.rebootClusterFromCompleteOutage()
linux下mysql-8.2.0集群部署(python版本要在2.7以上)由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“linux下mysql-8.2.0集群部署(python版本要在2.7以上)”