linux下mysql-8.2.0集群部署(python版本要在2.7以上)
目录
一、三台主机准备工作
1、mysql官方下载地址:https://dev.mysql.com/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官方下载地址:https://dev.mysql.com/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连接sql01MySQL 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:3306
MySQL 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.rpm
vim /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以上)
目录 一、三台主机准备工作 1、mysql官方下载地址:https://dev.mysql.com/downloads/ 2、修改/etc/hosts 3、关闭防火墙 二、三台主机安装mysql-8.2.0 1、解压 2、下载相应配置 3、初始化mysql,启动myslq,设置开机自启 4、查看初始密…...
40 深度学习(四):卷积神经网络|深度可分离卷积|colab和kaggle的基础使用
文章目录 卷积神经网络为什么要卷积卷积的具体流程池化tensorflow代码 深度可分离卷积原理介绍计算量对比代码参数计算例子 colab 和 kagglecolabkaggle如何在colab上使用kaggle的数据 卷积神经网络 卷积神经网络的基本结构 1: (卷积层(可选)池化层) * N全连接层 *…...
Spring Boot面向切面加注解
一.项目pom.xml文件引入切面依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>二.定义注解类 import java.lang.annotation.*;/*** desc 错误日志注解* au…...
uniapp小程序授权统一处理
1.使用 1.将工具代码引入到utils中 const authorize (scope, isOne false, isMust false) > {if (!scope || !authorizeObj[scope]) {return console.error(请传输需要获取权限的 scope,详见,https://uniapp.dcloud.net.cn/api/other/authorize.html#scope-…...
光学仿真|优化汽车内部照明体验
当我们谈论优化人类感知的内部照明时,我们实际上指的是两个重点领域:安全性和驾驶员体验。如果内部照明可以提供尽可能最佳的体验,驾驶员则能够更好地应对颇具挑战性或意外的驾驶状况,并且减轻疲劳感。除了功能优势外,…...
Spring XML使用CASE WHEN处理SELECT字段
在日常开发中,经常会碰到需要导出的情况。而一些枚举值或者状态一般是定义成整型,这个时候需要对数据进行转换,转换成对应的文本再导出。 在XML中用CASE WHEN来根据不同的查询结果做不同的处理。 比如 SELECT name AS 姓名, age AS 年龄 C…...
关于C#中使用多线程的讨论
关于C#中使用多线程的讨论 C# 中 Thread 调用的函数有返回值 没有输入应该如何解决 如果你想在一个新的线程中调用一个带返回值但没有输入参数的函数,可以使用 Thread 类的委托 ThreadStart 来创建一个新的线程,并在其中调用该函数。然后,你可以使用 Thread 类的 Join 方法…...
工程机械数字孪生可视化平台建设,推动大型装备智能化数字化转型升级
随着信息技术的迅猛发展,数字孪生技术作为一项新兴技术应运而生。数字孪生是指通过数学模型和仿真技术,将实际物理对象与其数字化虚拟模型相互关联,实现对物理对象的全生命周期管理和智能优化。在工程机械领域,巨蟹数科从数字孪生…...
Linux 网络流量监控利器 iftop命令详解及实战
简介 iftop 是什么 在 Linux 系统下即时监控服务器的网络带宽使用情况,有很多工具,比如 iptraf、nethogs 等等,但是推荐使用小巧但功能很强大的 iftop 工具。 iftop 是 Linux 系统一个免费的网卡实时流量监控工具,类似于 top 命令…...
protected by SourceGuardian and requires a SourceGuardian loader ‘ixed.8解决方案
php相关问题 安装程序提示以下内容 遇到某些php程序的安装提示: PHP script ‘/www/wwwroot/zhengban.youyacao.com/install/index.php’ is protected by SourceGuardian and requires a SourceGuardian loader ‘ixed.8.1.lin’ to be installed. 1) Click her…...
KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(14)
接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(13) 上一回讲完了drivers/gpu/drm/drm_framebuffer.c中的framebuffer_check函数中的第一个for循环,本回继续讲解framebuffer_check()接下来的代码。为了便于理解,再次贴出其源码,如下所示: static …...
2023-macOS下安装anaconda,终端自动会出现(base)字样,如何取消
2023-macOS下安装anaconda,终端自动会出现(base)字样,如何取消 安装后,我们再打开终端,就会自动出现了(base) 就会出现这样子的,让人头大, 所以我们要解决它 具体原因是 安装了anac…...
Nginx搭载负载均衡及前端项目部署
目录 编辑 一.Nginx安装 1.安装所需依赖 2.下载并解压Nginx安装包 3.安装nginx 4.启动Nginx服务 二.Tomcat负载均衡 1.准备环境 1.1 准备两个Tomcat 1.2 修改端口号 1.3 配置Nginx服务器集群 2.效果展示 编辑三.前端项目打包 编辑四.前端项目部署 1.上传项目…...
深度学习——炼丹
学习率调整策略 自定义学习率调整策略 简单版 net MyNet()optimoptim.Adam(net.parameters(),lr0.05) for param_group in optim.param_groups: param_group["lr"] param_group["lr"]*0.5print(param_group["lr"]) #0.25复杂版&#…...
Matlab中的app设计
1.窗口焦点问题: 窗口焦点问题:确保你的应用程序窗口正常处于焦点状态。有时,其他窗口的弹出或焦点切换可能导致应用程序最小化。点击应用程序窗口以确保它处于焦点状态。 窗口管理:确保你的 MATLAB 或操作系统没有未处理的错误或…...
曾经遇到过的无法解释的问题
因为不能直接展示生产数据与生产数据结构,所以写一个简单的例子 class Stu{ private String name; private int age; getter setter constructor 略 } List<Stu> list new ArrayList(); list.add(new Stu("s1",16)); list.add(new Stu("…...
基于uniapp与uview做一个按拼音首字母排序的通讯录页面
效果图: 第一步导入pinyin库并应用,用于区分汉字的拼音首字母 npm i pinyin import pinyin from "pinyin" 完整算法: function getListByPinyinFirstLetter(data) {const newList {};for (const item of data) {let firstLett…...
网络工程师-入门基础课:华为HCIA认证课程介绍
【微/信/公/众/号:厦门微思网络】 华为HCIA试听课程:超级实用,华为VRP系统文件详解 华为HCIA试听课程:不会传输层协议,HCIA都考不过 华为HCIA试听课程:网络工程师的基本功:网络地址转换NAT 一…...
玻色量子成功研制光量子计算专用光纤恒温控制设备——“量晷”
近日,北京玻色量子科技有限公司(以下简称“玻色量子”)成功研制出一款高精度量子计算专用光纤恒温控制设备——“量晷”,该设备能将光纤的温度变化稳定在千分之一摄氏度量级,即能够做到0.001C的温度稳定维持…...
力扣:147. 对链表进行插入排序(Python3)
题目: 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,…...
5步让旧设备重生:开源工具突破系统限制全指南
5步让旧设备重生:开源工具突破系统限制全指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果公司不断推进macOS系统更新,许多…...
不止会写脚本,更要会设计系统:从 Python 基础到 Pydantic v2,谈一套真正可靠的工程实践
不止会写脚本,更要会设计系统:从 Python 基础到 Pydantic v2,谈一套真正可靠的工程实践 很多人第一次喜欢上 Python,往往是因为它“好写”。 几行代码就能跑通一个脚本,一个下午就能拼出一个小工具,一周就能…...
Wan2.2-I2V-A14B图像转视频实战:基于卷积神经网络的风格迁移应用
Wan2.2-I2V-A14B图像转视频实战:基于卷积神经网络的风格迁移应用 1. 从静态到动态的艺术革命 想象一下,你手头有一幅梵高的《星月夜》,现在不仅能把它变成动态视频,还能让画中的星星真实地旋转流动,云彩如真实的漩涡…...
用Python手把手教你实现连分数逼近无理数(附黄金分割案例)
用Python手把手教你实现连分数逼近无理数(附黄金分割案例) 在数学的瑰丽殿堂中,连分数如同一把精巧的钥匙,能够打开无理数近似表示的大门。与传统的十进制小数表示法相比,连分数提供了一种更为优雅和精确的逼近方式。本…...
Gemma 4推理增强版:专注数学与代码的QLoRA适配器
Gemma 4推理增强版:专注数学与代码的QLoRA适配器 【免费下载链接】gemma4-31b-Opus-4.6-reasoning 项目地址: https://ai.gitcode.com/hf_mirrors/kai-os/gemma4-31b-Opus-4.6-reasoning 导语:Google Gemma 4系列再添新成员,专注数学…...
法律文书助手:OpenClaw调用Qwen3.5-9B生成合规合同草案
法律文书助手:OpenClaw调用Qwen3.5-9B生成合规合同草案 1. 为什么需要本地化的法律文书助手? 作为一名经常需要处理合同的法律从业者,我深知传统文书起草流程的痛点。过去要么手动从零开始撰写,要么使用SaaS平台的模板工具&…...
seo网络优化费用高的原因是什么_如何预算seo网络优化费用
SEO网络优化费用高的原因是什么_如何预算SEO网络优化费用 随着互联网的迅猛发展,搜索引擎优化(SEO)已成为每个企业提升在线可见度和吸引客户的重要手段。SEO网络优化费用高的问题时常困扰着初创企业和中小企业。为什么SEO网络优化费用如此高…...
CAN总线分析仪实战:从安装配置到数据收发调试全解析
1. CAN总线分析仪入门指南 第一次接触CAN总线分析仪的朋友可能会觉得这东西有点神秘,其实它就是个帮我们和汽车电子设备"对话"的翻译官。我刚开始用的时候也是一头雾水,后来发现只要掌握几个关键步骤,就能轻松上手。现在市面上常见…...
Java 设计模式在 Spring 中的现代应用:构建优雅的企业级应用
Java 设计模式在 Spring 中的现代应用:构建优雅的企业级应用别叫我大神,叫我 Alex 就好。一、引言 大家好,我是 Alex。设计模式是软件设计中经过验证的解决方案,它们帮助我们解决常见的设计问题。Spring 框架作为 Java 企业级应用…...
ATmega328P ADC底层控制库:精度、功耗与实时性深度优化
1. 项目概述AnalogControlPanel(ACP)是一个专为ATmega328P系列Arduino平台(Uno、Nano、Pro Mini)设计的底层ADC控制库。它并非替代analogRead()的简易封装,而是一套面向嵌入式工程师的、对AVR片上模数转换器࿰…...
