当前位置: 首页 > news >正文

Mac M2基于MySQL 8.4.3搭建(伪)主从集群

前置准备工作

安装MySQL 8.4.3

  • 参考博主之前的文档,在本地Mac安装好MySQL:Mac M2 Pro安装MySQL 8.4.3
  • 安装目录:/usr/local/mysql,安装好的MySQL都处于运行状态,需要先停止MySQL服务
  • 最快的方式:系统设置 → \rightarrow MySQL → \rightarrow Stop MySQL Server

设置环境变量

  • ~/.zshrc添加如下内容,

    export MYSQL_BASE=/usr/local/mysql
    # 在用户目录下创建mysql主从集群目录
    export MYSQL_CLUSTER=/Users/xxx/tmp/mysql
    # 3306端口对应master, 3307端口对应slave, 这里只创建两个节点
    export MYSQL_MASTER=${MYSQL_CLUSTER}/3306
    export MYSQL_SLAVE=${MYSQL_CLUSTER}/3307
    
  • 执行source ~/.zshrc让环境变量生效

创建集群目录

  • 创建 “主/从节点” 对应的目录
    # -p: 自动创建缺失的父目录, -v: 显示创建好的目录名
    mkdir -pv $MYSQL_MASTER $MYSQL_SLAVE
    mkdir -pv $MYSQL_MASTER/data $MYSQL_MASTER/log
    mkdir -pv $MYSQL_SLAVE/data $MYSQL_SLAVE/log
    
  • 如果环境变量生效,将在/Users/xxx/tmp/mysql 创建出33063307端口的对应目录
    # 以master为例
    cd $MYSQL_MASTER 
    ls -al # 将显示创建好的data log目录
    

启动master

新建cnf文件

  • $MYSQL_MASTER目录下新建3306.cnf文件,内容如下:

    [mysqld]
    # mysql启动用户
    user=mysql
    # 服务字符集
    character-set-server=utf8
    # 端口
    port=3306
    bind-address = 0.0.0.0
    # 用于通讯的套接字,由于是一机多实例,所以区分开
    socket=/Users/xxx/tmp/mysql/3306/mysql.sock
    # mysql安装目录
    basedir=/usr/local/mysql
    # 数据存放目录
    datadir=/Users/xxx/tmp/mysql/3306/data
    # master节点唯一标识
    server-id=1
    gtid_mode=ON
    enforce-gtid-consistency=true
    # master-info-repository=TABLE
    # relay-log-info-repository=TABLE
    # bin-log前缀
    log-bin=master-bin
    # bin-log-index前缀
    log-bin-index=master-bin.index
    binlog_format=ROW
    # 开启 mysql_native_password 认证
    mysql_native_password=ON[mysqld_safe]
    # 启动错误日志输出地址(可以改成自己的目录)
    log-error=/Users/xxx/tmp/mysql/3306/log/err.log
    
  • 修改上述文件为可执行文件:

    chmod 0755 $MYSQL_MASTER/3306.cnf
    

初始化master

  • 初始化master

    ${MYSQL_BASE}/bin/mysqld --defaults-file=${MYSQL_MASTER}/3306.cnf --initialize-insecure --explicit_defaults_for_timestamp --user=mysql --basedir=${MYSQL_BASE} --datadir=${MYSQL_MASTER}/data
    
  • 如果初始化成功,会有如下提示信息
    在这里插入图片描述

启动master进程

  • 启动master

    ${MYSQL_BASE}/bin/mysqld_safe --defaults-file=${MYSQL_MASTER}/3306.cnf &
    
  • 启动成功后,ps -ef | grep "mysql" | grep "3306" 命令查看,将新增两个进程
    在这里插入图片描述

  • 同时,在$MYSQL_MASTER目录将新增两个套接字相关的文件

  • 此时,可以通过root用户、以空密码的方式登录mysql:mysql -h 127.0.0.1 -u root -p

启动slave

创建cnf文件

  • $MYSQL_SLAVE目录下新建3307.cnf文件,内容如下:

    [mysqld]
    # mysql启动用户
    user=mysql
    # 服务字符集
    character-set-server=utf8
    # 端口
    port=3307
    # 用于通讯的套接字,由于是一机多实例,所以区分开
    socket=/Users/bytedance/tmp/mysql/3307/mysql.sock
    # mysql安装目录
    basedir=/usr/local/mysql
    # 数据存放目录
    datadir=/Users/bytedance/tmp/mysql/3307/data
    # master节点唯一标识
    server-id=2
    gtid_mode=ON
    enforce-gtid-consistency=true
    log_slave_updates=ON
    skip-slave-start=1
    #master-info-repository=TABLE
    #relay-log-info-repository=TABLE
    # bin-log前缀
    log-bin=master-bin
    # bin-log-index前缀
    log-bin-index=master-bin.index
    binlog_format=ROWmysql_native_password=ON[mysqld_safe]
    # 启动错误日志输出地址(可以改成自己的目录)
    log-error=/Users/bytedance/tmp/mysql/3307/log/err.log
    
  • 修改上述文件为可执行文件:

    chmod 0755 $MYSQL_SLAVE/3307.cnf
    

初始化slave

  • 初始化slave

    ${MYSQL_BASE}/bin/mysqld --defaults-file=${MYSQL_SLAVE}/3307.cnf --initialize-insecure --explicit_defaults_for_timestamp --user=mysql --basedir=${MYSQL_BASE} --datadir=${MYSQL_SLAVE}/data
    
  • slave初始化成功的信息同初始化master,参考上面的截图即可

启动slave进程

  • 启动slave

    ${MYSQL_BASE}/bin/mysqld_safe --defaults-file=${MYSQL_SLAVE}/3307.cnf  &
    
  • 启动成功后,ps -ef | grep "mysql" | grep "3307" 命令查看,将新增两个进程
    在这里插入图片描述

  • 同时,在$MYSQL_SLAVE目录将新增两个套接字相关的文件

  • 此时,可以通过root用户、以空密码的方式登录mysql:mysql -h127.0.0.1 -P3307 -uroot -p(截图省略,同master)

开启主从复制

master上的操作

创建主从复制用户

  • (可跳过)为root用户设置密码

    alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';
    flush privileges;
    
  • 创建主从复制用户

    create user 'replica'@'%' identified with 'mysql_native_password' by '123456';
    grant replication client,replication slave on *.* to 'replica'@'%'; 
    flush privileges;
    
  • 查看用户信息,查询结果中将包含replica用户

    SELECT User, Host FROM mysql.user;
    

查看主节点的binlog信息

  • 执行如下SQL,查看主节点的binlog信息。主要是获取如下两个坐标,后续设置slave节点时需要使用

    mysql>  SHOW BINARY LOG STATUS\G;
    *************************** 1. row ***************************File: master-bin.000003 # 坐标1: 日志文件Position: 1311 # 坐标2: 日志文件位置Binlog_Do_DB:Binlog_Ignore_DB:
    Executed_Gtid_Set: 8b52fb06-ca82-11ef-a11f-04d82f6466d3:1-5
    1 row in set (0.00 sec)
    

slave上的操作

创建主从复制用户

  • (可跳过)为root用户设置密码

    alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password by '123456';
    flush privileges;
    
  • 创建主从复制用户

    CREATE USER 'replica'@'%' IDENTIFIED WITH 'mysql_native_password' BY '123456';
    grant replication slave on *.* to 'replica'@'%';
    FLUSH PRIVILEGES;
    
  • 查看用户信息,查询结果中将包含replica用户(截图省略)

    SELECT User, Host FROM mysql.user;
    

设置主机节点信息

  • 执行如下SQL,设置主节点信息

    CHANGE REPLICATION SOURCE TOSOURCE_HOST='127.0.0.1',SOURCE_PORT = 3306,SOURCE_USER='replica',SOURCE_PASSWORD='123456', -- 填写master节点的基本信息SOURCE_LOG_FILE='master-bin.000003',SOURCE_LOG_POS=1311; -- 使用之前SHOW BINARY LOG STATUS展示的坐标信息
    

开启主从复制

  • 开启主动复制

    start replica;
    
  • 查看主动复制开启是否成功

    mysql> show replica status\G;
    *************************** 1. row ***************************Replica_IO_State: Waiting for source to send eventSource_Host: 127.0.0.1Source_User: replicaSource_Port: 3306Connect_Retry: 60Source_Log_File: master-bin.000003Read_Source_Log_Pos: 1311 // 以上显示的信息, 能跟master节点对上Relay_Log_File: F177XMTP97-relay-bin.000002... // 其他信息省略Last_Errno: 0Last_Error:  // 这里未显示错误, 代表主从复制开启成功... // 其他信息省略
    

验证主从复制

  • 上面只是从基本信息看,主从复制开启成功了,还需要具体地验证才靠谱

master上的操作

  • 在master节点上新建测试库

    create database test;
    
  • 并创建一个测试表

    use test;
    create table t(id int primary key ,name varchar(10));
    insert into t(id, name) values(1,'hello');
    
  • 查询新插入的数据

slave上的操作

  • 登录slave节点,查看刚在master创建的库表

    show database;
    # 查询测试库中的数据
    use test;
    select * from t;
    
  • 能查询到,表示主从复制工作正常

  • 库表信息都没有任何问题,主从复制创建成功 😄

一些问题的解决办法

主动复制开启失败

  • 虽然通过show replica status未看到错误信息,但是验证主从复制时,发现slave节点上未同步master上的库
  • 可能是跟笔者一样,中途为了重新设置master的信息,关闭了replica
    • 中途想通过 CHANGE REPLICATION SOURCE TO 重新设置master的信息

    • MySQL报错,提示

      ERROR 3021 (HY000): This operation cannot be performed with a running replica io thread; run STOP REPLICA IO_THREAD FOR CHANNEL '' first.
      
    • 执行 STOP REPLICA IO_THREAD FOR CHANNEL '';停止了replica

  • 此时,可以通过 start replica;重新开启主从复制。如无意外,再次查询slave节点,能查到来自master节点的库表信息
  • 如果还不行,可以试试参考博客。注意:需要将博客中的start slave改成 start replica:mysql8.0的主从集群架构搭建教程,主从复制原理详解

主从节点的关闭

  • 如果遇到初始化失败,或想关闭服务了,最好通过如下方式完整的关闭MySQL服务
    ps -ef | grep "mysqld" | grep "3306" | grep -v grep |  awk '{print $2}' | xargs kill -9
    # 查看对应端口是否存在tcp监听
    lsof -i:3306
    kill -9 $PID
    

后记

  • 超级感谢博客,里面使用的各种命令都符合MySQL 8.4.3的规则:mysql 8.0 搭建主从集群注意事项
  • 其次,感谢博客给的主从复制未开启的解决思路:mysql8.0的主从集群架构搭建教程,主从复制原理详解

相关文章:

Mac M2基于MySQL 8.4.3搭建(伪)主从集群

前置准备工作 安装MySQL 8.4.3 参考博主之前的文档,在本地Mac安装好MySQL:Mac M2 Pro安装MySQL 8.4.3安装目录:/usr/local/mysql,安装好的MySQL都处于运行状态,需要先停止MySQL服务最快的方式:系统设置 …...

Visual Point Cloud Forecasting enables Scalable Autonomous Driving——点云论文阅读(12)

此内容是论文总结,重点看思路!! 文章概述 这篇文章介绍了一个名为 ViDAR 的视觉点云预测框架,它通过预测历史视觉输入生成未来点云,作为自动驾驶的预训练任务。ViDAR 集成了语义、三维几何和时间动态信息,有效提升了感知、预测和规划等自动驾驶核心任务的性能。实验表明…...

handpose x plus 数据解析 >> DataBall

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” ---------------------------- 样品数据: 通过加入知识…...

LINUX线程操作

文章目录 线程的定义LINUX中的线程模型一对一模型多对一模型多对多模型 线程实现原理线程的状态新建状态(New)就绪状态(Runnable)运行状态(Running)阻塞状态(Blocked)死亡状态&#…...

每日一学——日志管理工具(ELK Stack)

5.1 ELK Stack 5.1.1 Elasticsearch索引机制 嘿,小伙伴们!今天我们要聊聊ELK Stack——一套由Elasticsearch、Logstash和Kibana组成的强大日志管理工具集。通过这套工具,我们可以轻松地收集、存储、搜索和可视化日志数据。首先,…...

设计模式 结构型 适配器模式(Adapter Pattern)与 常见技术框架应用 解析

适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口,从而使原本因接口不兼容而无法一起工作的类能够协同工作。这种设计模式在软件开发中非常有用,尤其是在需要集成…...

【Leetcode】732. 我的日程安排表 III

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 当 k k k 个日程存在一些非空交集时(即, k k k 个日程包含了一些相同时间),就会产生 k k k 次预订。 给你一些日程安排 [startTime, endTime…...

Flutter Android修改应用名称、应用图片、应用启动画面

修改应用名称 打开Android Studio,打开对应项目的android文件。 选择app下面的manifests->AndroidManifest.xml文件,将android:label"bluetoothdemo2"中的bluetoothdemo2改成自己想要的名称。重新启动或者重新打包,应用的名称…...

RocketMQ消费者如何消费消息以及ack

1.前言 此文章是在儒猿课程中的学习笔记,感兴趣的想看原来的课程可以去咨询儒猿课堂 这篇文章紧挨着上一篇博客来进行编写,有些不清楚的可以看下上一篇博客: https://blog.csdn.net/u013127325/article/details/144934073 2.broker是如何…...

华为消费级QLC SSD来了

近日,有关消息显示,华为的消费级SSD产品线,eKitStor Xtreme 200E系列,在韩国一家在线零售商处首次公开销售,引起了业界的广泛关注。 尽管华为已经涉足服务器级别的SSD制造多年,但直到今年6月才正式推出面向…...

Conda 安装 Jupyter Notebook

文章目录 1. 安装 Conda下载与安装步骤: 2. 创建虚拟环境3. 安装 Jupyter Notebook4. 启动 Jupyter Notebook5. 安装扩展功能(可选)6. 更新与维护7. 总结 Jupyter Notebook 是一款非常流行的交互式开发工具,尤其适合数据科学、机器…...

高等数学学习笔记 ☞ 极限的运算法则与存在准则

1. 极限的运算法则 (1)有限个无穷小的和是无穷小。 (2)有限个无穷小的乘积是无穷小。 备注: ①:无限个无穷小的和不一定是无穷小,反例如下&#xf…...

【开源】创建自动签到系统—QD框架

1. 介绍 QD是一个 基于 HAR 编辑器和 Tornado 服务端的 HTTP 定时任务自动执行 Web 框架。 主要通过抓包获取到HAR来制作任务模板,从而实现异步响应和发起HTTP请求 2. 需要环境 2.1 硬件需求 CPU:至少1核 内存:推荐 ≥ 1G 硬盘:推…...

k8s集群,CRI-Docker部署条件及方法

CRI-Docker部署条件及方法 文章目录 CRI-Docker部署条件及方法CRI-Docker使用条件安装 cri-docker 的步骤: CRI-Docker使用条件 在 Kubernetes 1.20 及以上版本,kubeadm 默认使用 containerd 作为容器运行时(Container Runtime Interface, C…...

STLG_01_09_程序设计C语言 - 指针

C语言中的指针是一个非常重要的概念,它允许程序直接访问和操作内存地址。理解指针对于掌握C语言编程至关重要。 1. 指针的基本概念 指针:指针是一个变量,它存储的是另一个变量的内存地址。指针变量:指针变量专门用来存储内存地址…...

Seaborn的分类柱状图sns.barplot()

Seaborn的分类柱状图sns.barplot 一、sns.barplot()参数详解二、代码实现一、sns.barplot()参数详解 sns.barplot 是 Seaborn 库中用于绘制分类柱状图(bar chart)的函数。Seaborn 是一个基于 Matplotlib 的数据可视化库,它提供了更高级别的接口来绘制统计图形,并且有更…...

SpringBoot入门之创建一个Hello World项目

文章目录 一、创建一个SpringBoot项目二、配置pom.xml文件三、下载Maven依赖四、创建一个Controller类:com.devops.controller.HelloController五、创建一个引导类:com.devops.HelloApplication六、启动项目七、访问8080八、完整项目结构九、参考视频 一…...

MAC系统QT Creator的快捷键

安装好QT Creator后使用了一段时间,真是越用越难受,只想说🗑️。。。 找一圈qt creator的快捷键 0. 快捷键界面 这里的搜索真的是…无语,不考虑是人查找吗?? 1. 代码前后浏览 2. 移动代码 3. 半自动导入…...

qml Rectangle详解

1、概述 Rectangle是Qt Quick中的一个基础图形元素,用于在QML界面上绘制一个可带边框和可填充的矩形区域。它继承自Item类,因此具有Item的所有属性和功能,如位置、尺寸、变换等。通过Rectangle,可以创建各种矩形形状,…...

C语言中关于数据类型带来的陷阱

前言 笔者在阅读《深入理解计算机系统》时,理解了为何C语言被称为不安全语言,C语言除了指针非常灵活可能会导致大量漏洞之外,C语言的无符号数据也可能带来致命性危害。 扩展一个数据的表示 将一个无符号数转换为更大的数据类型&#xff0c…...

设计心得——流程图和数据流图绘制

一、流程图和数据流图 在软件开发中,画流程图和数据流图可以说是几乎每个人都会遇到。 1、数据流(程)图 Data Flow Diagram,DFG。它可以称为数据流图或数据流程图。其主要用来描述系统中数据流程的一种图形工具,可以将…...

【AimRT】AimRT Hello World

目录 一、工程结构二、源码说明/CMakeLists.txt/cmake/GetAimRT.cmake/src/CMakeLists.txt/src/module/helloworld_module/CMakeLists.txt/src/app/helloworld_app/CMakeLists.txt/src/install/cfg/helloworld_cfg.yaml/src/module/helloworld_module/helloworld_module.h/src/…...

在Typora中实现自动编号

文章目录 在Typora中实现自动编号1. 引言2. 准备工作3. 自动编号的实现3.1 文章大纲自动编号3.2 主题目录(TOC)自动编号3.3 文章内容自动编号3.4 完整代码 4. 应用自定义CSS5. 结论 在Typora中实现自动编号 1. 引言 Typora是一款非常流行的Markdown编辑…...

Vue2/Vue3使用DataV

Vue2 注意vue2与3安装DataV命令命令是不同的Vue3 DataV - Vue3 官网地址 注意vue2与3安装DataV命令命令是不同的 vue3vite 与 Vue3webpack 对应安装也不同vue3vite npm install kjgl77/datav-vue3全局引入 // main.ts中全局引入 import { createApp } from vue import Da…...

Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决

在 Docker 环境中搭建 Redis 哨兵模式集群的步骤与问题解决 在 Redis 高可用架构中,哨兵模式(Sentinel)是确保 Redis 集群在出现故障时自动切换主节点的一种机制。通过使用 Redis 哨兵,我们可以实现 Redis 集群的监控、故障检测和…...

数据库设计

数据库设计全攻略:从理论到实践 在当今数字化驱动的世界里,数据已然成为企业和组织最为宝贵的资产之一。而数据库,作为数据的“栖息地”,其设计的优劣直接关系到整个信息系统的性能、可维护性以及能否高效满足业务需求。一个精心构思的数据库设计方案,就如同为一座高楼打…...

三甲医院等级评审八维数据分析应用(一)--组织、制度、管理可视化篇

一、引言 1.1 研究背景与意义 在当今医疗领域,三甲医院作为医疗服务的核心载体,肩负着保障民众健康、推动医学进步的重任。随着信息技术的飞速发展,数据已成为医院运营管理、医疗质量提升以及科学决策的关键要素。三甲医院等级评审作为衡量医院综合实力与服务水平的重要标…...

【2025软考高级架构师】案例题重点知识——第一部分

1.架构风格相关问题 什么是架构风格? 软件架构风格类似于建筑风格,从相同类型的软件系统中抽取其架构的共性,是一种惯用模式,反映了众多系统共有的结构和语义 (1)软件架构为软件系统提供了一个结构、行为和属性的高级抽象。 (2)软件架构风格是特定应用领域的惯用模式,架…...

Science Robotics让软机器人“活”得更久的3D打印!

软机器人硬件在医疗、探索无结构环境等领域有广泛应用,但其生命周期有限,导致资源浪费和可持续性差。软机器人结合软硬组件,复杂组装和拆卸流程使其难以维修和升级。因此,如何延长软机器人的生命周期并提高其可持续性成为亟待解决…...

【JVM】总结篇-运行时内存篇

文章目录 JVM内存模型(内存结构)程序计数器 pc虚拟机栈本地方法栈 native堆堆空间堆中一些JVM参数堆中垃圾回收过程MinorGC MajorGC FullGC年轻代GC(Minor GC)触发机制:老年代GC(Major GC/Full GC)触发机制&#xff1a…...

【2025最新计算机毕业设计】基于SpringBoot+Vue智慧养老医护系统(高质量源码,提供文档,免费部署到本地)【提供源码+答辩PPT+文档+项目部署】

作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:🌟Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…...

【数据仓库】hive on Tez配置

hive on Tez 搭建 前提是hive4.0hadoop3.2.2数仓已搭建完成,现在只是更换其执行引擎 为Tez。搭建可参考【数据仓库】hive hadoop数仓搭建实践文章。 Tez 下载 下载地址 https://archive.apache.org/dist/tez/ 官网地址 https://tez.apache.org/releases/apac…...

基于HTML和CSS的旅游小程序

一、技术基础 HTML(HyperText Markup Language):超文本标记语言,用于定义网页的内容和结构。在旅游小程序中,HTML用于搭建页面的基本框架,包括标题、段落、图片、链接等元素,以及用于交互的表单…...

CDP集成Hudi实战-文件存储布局实况讲解

[〇]关于本文 本文我们参考一张在hdfs中的hud表讲解一下hudi表的文件存储布局 [一]时间线文件解析 目录结构中列出的文件和子目录如下&#xff1a; 1-文件类型解析 时间线目录中的文件主要有以下几种类型&#xff1a; <commit_id>.deltacommit.inflight 表示一项事务&…...

22408操作系统期末速成/复习(考研0基础上手)

第一部分:计算题&#xff1a; 考察范围&#xff1a;&#xff08;标红的是重点考&#xff09; 第一章&#xff1a;CPU利用率&#xff1a; 第二章&#xff1a; 进程调度算法&#xff08;需要注意不同调度算法的优先级和题目中给出的是否可以抢占【分为可抢占和不可抢占&#xff…...

Qt的信号与槽

文章目录 信号与槽机制信号与槽的定义 Qt使用信号与槽机制进行对象间的通信。当某个对象的状态发生变化时&#xff0c;该对象会触发一个信号。 该信号和另外一些对象的槽函数绑定&#xff0c;信号的触发将导致这些槽函数的执行&#xff0c;以处理第一个对象状态的变化。触发信号…...

牛客网刷题 ——C语言初阶——JZ15 二进制中1的个数

1.题目描述 题目OJ链接 描述 输入一个整数 n &#xff0c;输出该数32位二进制表示中1的个数。其中负数用补码表示。 2.思路 求2进制中1的个数&#xff0c;可以转换为求每一位&#xff0c;1的个数&#xff0c;1&1还是1 所以判断如果该数值&1为真&#xff0c;我们就co…...

【游戏设计原理】47 - 超游戏思维

对于这条原理&#xff0c;我首先想到的是开放世界&#xff0c;或者探索性游戏&#xff0c;这是最能包容各类玩家的游戏类型。这类游戏定义了基本规则&#xff0c;玩家的可操作性很强。就像上图里的沙池一样&#xff0c;里面有滑梯&#xff0c;是规则性比较明确的&#xff0c;而…...

Elasticsearch Serverless中的数据流自动分片深度解析

Elasticsearch Serverless中的数据流自动分片深度解析 一、Elasticsearch Serverless概述 1. 什么是Elasticsearch Serverless Elasticsearch Serverless是一种云端全托管的Elasticsearch服务&#xff0c;它基于云原生Serverless技术架构&#xff0c;提供自动弹性和完全免运…...

Elasticsearch JavaRestClient版

文章目录 初始化RestHighLeveClient&#xff08;必要条件&#xff09;索引库操作1.创建索引库&#xff08;4步&#xff09;2.删除索引库&#xff08;3步&#xff09;3.判断索引库是否存在&#xff08;3步&#xff09;4.总结&#xff1a;四步走 文档操作1.创建文档&#xff08;4…...

通过爬虫方式实现视频号助手发布视频

1、将真实的cookie贴到解压后目录中cookie.txt文件里,修改python代码里的user_agent和video_path, cover_path等变量的值,最后运行python脚本即可; 2、运行之前根据import提示安装一些常见依赖,比如requests等; 3、2025年1月份最新版; 代码如下: import json import…...

如何在VMware ESXi和Workstation中打开VMDK文件?

VMware 中的 VMDK 是什么&#xff1f; 在 VMware 中&#xff0c;VMDK 是虚拟磁盘文件的格式&#xff0c;全称是 Virtual Machine Disk。VMDK 文件用于存储虚拟机的硬盘内容&#xff0c;包括操作系统、应用程序、文件等。它相当于虚拟机的硬盘驱动器&#xff0c;可以模拟出各种…...

【计算机视觉技术 - 人脸生成】2.GAN网络的构建和训练

GAN 是一种常用的优秀的图像生成模型。我们使用了支持条件生成的 cGAN。下面介绍简单 cGAN 模型的构建以及训练过程。 2.1 在 model 文件夹中新建 nets.py 文件 import torch import torch.nn as nn# 生成器类 class Generator(nn.Module):def __init__(self, nz100, nc3, n…...

「Mac畅玩鸿蒙与硬件54」UI互动应用篇31 - 滑动解锁屏幕功能

本篇教程将实现滑动解锁屏幕功能&#xff0c;通过 Slider 组件实现滑动操作&#xff0c;学习事件监听、状态更新和交互逻辑的实现方法。 关键词 滑动解锁UI交互状态管理动态更新事件监听 一、功能说明 滑动解锁屏幕功能包含以下功能&#xff1a; 滑动解锁区域&#xff1a;用…...

JVM学习指南(9)-JVM运行时数据区

JVM学习指南(9)-JVM运行时数据区 引言 Java虚拟机(JVM)是Java程序运行的核心,它为Java程序提供了一个与平台无关的执行环境。JVM的重要性不仅在于它实现了Java的跨平台特性,还在于它对程序执行过程中内存的管理。JVM运行时数据区是程序执行过程中存储数据的关键区域,理解…...

前端实现大文件上传(文件分片、文件hash、并发上传、断点续传、进度监控和错误处理,含nodejs)

大文件分片上传是前端一种常见的技术&#xff0c;用于提高大文件上传的效率和可靠性。主要原理和步骤如下 文件分片 确定分片大小&#xff1a;确定合适的分片大小。通常分片大小在 1MB 到 5MB 之间使用 Blob.slice 方法&#xff1a;将文件分割成多个分片。每个分片可以使用 Bl…...

什么是 C++ 的序列化?

什么是 C 的序列化&#xff1f; 序列化&#xff08;Serialization&#xff09;是指将对象的状态转换为可以存储或传输的格式的过程。它使得对象能够以二进制或文本的形式被保存到文件中&#xff0c;或者通过网络发送到远程计算机上&#xff0c;稍后可以重新构造出来&#xff0…...

047_小驰私房菜_Qcom 8系列,Jpeg GPU 旋转

【问题背景】 横屏模式下&#xff0c;发现有些三方app拍照旋转了90度。 【修改策略】 adb shell setprop endor.debug.camera.overrideGPURotationUsecase 1 或者在/vendor/etc/camera/camxoverridesettings.txt 里面添加如下内容 overrideGPURotationUsecase1 【解释】 Ga…...

【C++】2039:【例5.6】冒泡排序

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述&#x1f4af;我的初步实现我的代码实现问题分析 &#x1f4af;老师的实现方式老师代码的特点分析老师代码的执行过程 &#x1f4af;我的代码与老师代码的对比优点…...

【Java回顾】Day4 反射机制

反射机制 之前学过一部分&#xff0c;笔记在20250103Java包_网络编程.md里,这里在之前的笔记的基础上做一些补充。 反射&#xff1a;得到class对象后反向获取对象的各种信息。 包 Field 类或接口中的字段(成员变量)&#xff0c;动态访问和修改类的字段 模板 获取Class 对象 …...