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

ubuntu22.04源码编译mysql8.0.X详细流程【由deepseek提供】

以下是在 Ubuntu 22.04 上从源代码编译安装 MySQL 8.0.X(以 MySQL 8.0.37 为例)的详细操作流程:


一、准备工作

1. 更新系统
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential cmake pkg-config libssl-dev libncurses5-dev libtinfo-dev \
libreadline-dev zlib1g-dev libicu-dev libaio1 libaio-dev libnuma-dev
2. 安装依赖库
  • Boost 库(MySQL 8.0 依赖):
    sudo apt install -y libboost-dev libboost-system-dev libboost-filesystem-dev
    

    注意:MySQL 8.0.37 需要 Boost 1.77.0,Ubuntu 22.04 默认仓库提供兼容版本。

3. 创建专用用户和组
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

二、下载并解压 MySQL 源码

1. 下载源码包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.37.tar.gz
2. 解压源码
tar -zxvf mysql-8.0.37.tar.gz
cd mysql-8.0.37

三、配置编译参数

mkdir build
cd buildcmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=../boost \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_0900_ai_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0

参数说明

  • CMAKE_INSTALL_PREFIX: MySQL 安装目录
  • MYSQL_DATADIR: 数据存储目录
  • WITH_BOOST: 指定 Boost 库路径
  • 其他参数启用了常用存储引擎和 UTF8MB4 字符集。

四、编译与安装

make -j$(nproc)  # 使用所有 CPU 核心加速编译
sudo make install

注意:编译时间取决于硬件配置(通常 15-60 分钟)。


五、配置 MySQL 环境

1. 设置目录权限
sudo chown -R mysql:mysql /usr/local/mysql
sudo chmod -R 750 /usr/local/mysql
2. 初始化数据库
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  • 记录输出的临时 root 密码(结尾类似 [Server] A temporary password is generated for root@localhost: ********
3. 创建配置文件

编辑 /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid[client]
socket=/tmp/mysql.sock

六、启动 MySQL 服务

1. 创建 Systemd 服务文件

新建 /etc/systemd/system/mysql.service

[Unit]
Description=MySQL Server
After=network.target[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Restart=on-failure[Install]
WantedBy=multi-user.target
2. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql

七、安全配置

1. 修改 root 密码
/usr/local/mysql/bin/mysql -u root -p

输入初始化时的临时密码后执行:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
2. 运行安全脚本
sudo /usr/local/mysql/bin/mysql_secure_installation

按提示完成安全设置(删除测试数据库、禁用远程 root 登录等)。


八、验证安装

mysql -u root -p -e "SELECT VERSION();"

应输出类似:

+-----------+
| VERSION() |
+-----------+
| 8.0.37    |
+-----------+

版本说明

  • MySQL: 8.0.37
  • Ubuntu: 22.04.4 LTS
  • 依赖库:
    • OpenSSL 3.0.2
    • Boost 1.77.0
    • CMake 3.22.1
    • GCC 11.4.0

常见问题

  1. 编译失败:检查依赖是否完整,清理构建目录后重新配置:
    rm -rf CMakeCache.txt
    
  2. 权限问题:确保所有 MySQL 目录属于 mysql:mysql 用户组。
  3. 连接错误:检查 /tmp/mysql.sock 是否存在,或确认 my.cnf 中 socket 路径一致。

通过以上步骤,您已在 Ubuntu 22.04 上成功编译安装了 MySQL 8.0.37。

出现的错误

CMake Error at cmake/boost.cmake:109 (MESSAGE):You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>This CMake script will look for boost in <directory>.  If it is not there,it will download and unpack it (in that directory) for you.You can also download boost manually, fromhttps://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar.bz2If you are inside a firewall, you may need to use an https proxy:export https_proxy=http://example.com:80Call Stack (most recent call first):cmake/boost.cmake:207 (COULD_NOT_FIND_BOOST)CMakeLists.txt:1563 (INCLUDE)-- Configuring incomplete, errors occurred!

纠正

以下是针对该 CMake 编译错误的详细解决方案:


错误原因分析

MySQL 8.0 的编译依赖特定版本的 Boost 库(此处需要 Boost 1.77.0)。虽然你已通过 apt 安装了 Boost 库,但可能出现以下问题:

  1. 系统仓库中的 Boost 版本不符合 MySQL 要求
  2. CMake 未正确找到 Boost 库路径
  3. Boost 头文件未完全安装

解决方案一:让 CMake 自动下载 Boost(推荐)

1. 清理之前的构建目录
cd mysql-8.0.37/build
rm -rf *
2. 重新配置 CMake 并启用自动下载
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=../boost \
-DDOWNLOAD_BOOST=1 \  # 新增关键参数
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1

CMake 会自动下载 Boost 1.77.0 到 ../boost 目录并验证 SHA256 校验和


解决方案二:手动下载并配置 Boost

1. 手动下载指定版本
wget https://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar.bz2
tar -xvf boost_1_77_0.tar.bz2
mv boost_1_77_0 mysql-8.0.37/boost  # 必须放在 MySQL 源码目录下的 boost 子目录
2. 重新配置 CMake
cd mysql-8.0.37/build
rm -rf *
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DWITH_BOOST=../boost \  # 指向包含 boost 的目录
... (其他参数保持原样)

验证 Boost 配置

成功配置后会显示以下信息:

-- Found Boost 1.77.0 at /path/to/boost
-- Boost headers: /path/to/boost
-- Boost version: 1.77.0

附加说明

  1. 网络问题:如果处于内网环境,需设置代理:
    export https_proxy=http://your.proxy:port
    
  2. 完整性校验:自动下载会验证文件 SHA256 校验和,若失败需检查网络
  3. 磁盘空间:确保至少有 500MB 剩余空间存放 Boost 源码

完整修复流程示例(方案一)

# 进入构建目录
cd mysql-8.0.37/build# 清理旧配置
rm -rf *# 配置 CMake(启用自动下载)
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=../boost \
-DDOWNLOAD_BOOST=1 \
-DSYSCONFDIR=/etc \
-DEFAULT_CHARSET=utf8mb4 \
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1# 继续编译安装
make -j$(nproc)
sudo make install

通过上述任一方案即可解决 Boost 依赖问题。推荐使用 方案一 自动下载,可避免手动操作的版本匹配问题。如果多次下载失败,可尝试更换网络环境或使用方案二手动下载。

出现警告

出警告了 CMake Warning:Manually-specified variables were not used by the project:EFAULT_CHARSET-- Build files have been written to: /opt/mysql-8.0.37/build

CHATGPT给出解决方案

这个警告 Manually-specified variables were not used by the project: EFAULT_CHARSET 表示在你运行 cmake 时,手动指定的变量 EFAULT_CHARSET 并没有在 MySQL 的 CMake 配置文件中被使用到。

这种情况通常发生在你传递了某个 CMake 变量,但 MySQL 构建脚本并没有接收或使用这个变量。它可能是多余的,或者是因为某些原因被忽略了。

解决方法:

  1. 检查 CMake 参数:确保你指定的所有 CMake 变量是正确的并且被 MySQL 构建脚本支持。你可以查看 MySQL 官方文档或者 CMake 配置文件来确认 EFAULT_CHARSET 是否是一个有效的变量。

  2. 移除无效的变量:如果确认 EFAULT_CHARSET 并不是必需的,你可以尝试从命令中移除它,重新运行 cmake,看看警告是否消失。

  3. 检查变量拼写:确认你是否拼写错误。如果这个变量是 MySQL 编译过程中需要的参数,可能存在拼写错误的情况。

  4. 查看 CMake 输出:你可以通过仔细查看 CMake 输出的其他内容,找到是否有更多的信息或提示,可能帮助你找到问题的根源。

如果以上方法都没有解决问题,你可以考虑查阅 MySQL 官方的构建文档,看看是否有关于该变量的更多解释。

相关文章:

ubuntu22.04源码编译mysql8.0.X详细流程【由deepseek提供】

以下是在 Ubuntu 22.04 上从源代码编译安装 MySQL 8.0.X&#xff08;以 MySQL 8.0.37 为例&#xff09;的详细操作流程&#xff1a; 一、准备工作 1. 更新系统 sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake pkg-config libssl…...

富唯智能复合机器人拓展工业新维度

富唯智能复合机器人是富唯智能倾力打造的一款集高度自动化、智能化和多功能性于一体的机器人。它融合了机械、电子、计算机、传感器等多个领域的前沿技术&#xff0c;通过精密的算法和控制系统&#xff0c;实现了对复杂生产环境的快速适应和高效作业。 富唯智能复合机器人的特点…...

【2】高并发导出场景下,服务器性能瓶颈优化方案-异步导出

Java 异步导出是一种在处理大量数据或复杂任务时优化性能和用户体验的重要技术。 1. 异步导出的优势 异步导出是指将导出操作从主线程中分离出来&#xff0c;通过后台线程或异步任务完成数据处理和文件生成。这种方式可以显著减少用户等待时间&#xff0c;避免系统阻塞&#x…...

verdi 查看覆盖率

点击Tools -> Coverage&#xff0c;会出现一个Verdi:vdCoverage:1页面点击File->Open/Add Database, 会出现一个 Open/Add Coverage Database页面&#xff0c; 在Design Hierarchy/Testbench Location 中输入 vdb路径点击… &#xff0c; 会出现当前路径下的文件&#xf…...

【React】路由处理的常见坑与解决方法,React Router 的动态路由与懒加载问题

在使用 React Router 时,动态路由和懒加载是非常常见的需求,但也可能会遇到一些坑。以下是常见问题以及对应的解决方法。 一、React Router 动态路由常见问题 1. 动态路由匹配问题 动态路由通常通过 :param 定义路径参数,但如果路径参数与静态路由有重叠,可能会导致匹配问…...

OKHttp拦截器解析

OKHttp涉及到拦截器大概的执行步骤为&#xff1a; 1.通过newCall生成RealCall对象 具体代码如下&#xff1a; Override public Call newCall(Request request) {return new RealCall(this, request, false /* for web socket */);}2.调用Call的execute方法 当然这也可以是执…...

顺序表和链表

线性表 线性表&#xff08;linear list&#xff09;是n 个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构。 常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。但是在物…...

若依框架使用(低级)

克隆源码 浏览器搜索若依&#xff0c;选择 RuoYi-Vue RuoYi-Vue RuoYi-Vue 重要的事情说三遍&#xff0c;进入gitee 下面这个页面&#xff08;注意红色框起来的部分&#xff09; 进入Gitee进行下载 我下载的是最新的springboot3 下载好后我们可以选择一个文件夹&#xff0…...

Spring JDBC模块解析 -深入SqlParameterSource

在前面的博客中&#xff0c;我们探讨了Spring Data Access Module中的主要组件&#xff1a; JdbcTemplate和SimpleJdbcInsert。在这两部分的基础上&#xff0c;我们将继续探讨更详细 的用法&#xff0c;包括如何使用RowMapper和SqlParameterSource等高级主题。 JdbcTemplate …...

SQL中Limit的用法详解

SQL中的LIMIT关键字是一个非常有用的工具&#xff0c;它可以用来限制查询结果返回的记录数量。文章将详细解析LIMIT关键字的使用方法&#xff0c;包括它的基本用法&#xff0c;以及在查询数据时如何配合使用LIMIT与OFFSET。我会通过示例代码演示LIMIT在单行结果集和多行结果集情…...

mac 安装 dotnet 环境

目录 一、安装准备 二、安装方法&#xff08;两种任选&#xff09; 方法 1&#xff1a;使用官方安装包&#xff08;推荐新手&#xff09; 方法 2&#xff1a;使用 Homebrew&#xff08;适合开发者&#xff09; 1. 安装 Homebrew&#xff08;如未安装&#xff09; 2. 通过 …...

DeepSeek辅助学术写作【句子重写】效果如何?

句子重写(功能指数:★★★★★) 当我们想引用一篇文章中的一-些我们认为写得很好的句子时&#xff0c;如果直接将原文加人自己的文章&#xff0c;那么即使我们标注上了引用&#xff0c;也依旧会被查重软件计算在重复比例中。查重比例过高的话&#xff0c;会影响投稿或毕业答辩送…...

SpringUI Web高端动态交互元件库

Axure Web高端动态交互元件库是一个专为Web设计与开发领域设计的高质量资源集合&#xff0c;旨在加速原型设计和开发流程。以下是关于这个元件库的详细介绍&#xff1a; 一、概述 Axure Web高端动态交互元件库是一个集成了多种预制、高质量交互组件的工具集合。这些组件经过精…...

QT +FFMPEG4.3 拉取 RTMP/http-flv 流播放 AVFrame转Qimage

QT FFMPEG4.3 拉取 RTMP/http-flv 流播放 Cc_Video_thread.h #ifndef CC_VIDEO_THREAD_H #define CC_VIDEO_THREAD_H#include <QThread> #include <QAtomicInt> #include <QImage>#ifdef __cplusplus extern "C" { #endif #include <libavfor…...

Docker最佳实践:安装Nacos

文章目录 Docker最佳实践&#xff1a;安装Nacos一、引言二、安装 Nacos1、拉取 Nacos Docker 镜像2、启动 Nacos 容器 三、配置 Nacos&#xff08;可选&#xff09;四、使用示例1、服务注册2、服务发现 五、总结 Docker最佳实践&#xff1a;安装Nacos 一、引言 Nacos 是阿里巴…...

106,【6】 buuctf web [SUCTF 2019]CheckIn

进入靶场 文件上传 老规矩&#xff0c;桌面有啥传啥 过滤了<? 寻找不含<?的一句话木马 文件名 123(2).php.jpg 文件内容 GIF89a? <script language"php">eval($_GET[123]);</script> 123即密码&#xff0c;可凭借个人喜好更换 再上传一个文…...

【Linux】27.Linux 多线程(1)

文章目录 1. Linux线程概念1.1 线程和进程1.2 虚拟地址是如何转换到物理地址的1.3 线程的优点1.4 线程的缺点1.5 线程异常1.6 线程用途 2. Linux进程VS线程2.1 进程和线程2.2 关于进程线程的问题 3. Linux线程控制3.1 POSIX线程库3.2 创建线程3.3 线程终止3.4 线程等待3.5 分离…...

旋转变压器工作及解调原理

旋转变压器 旋转变压器是一种精密的位置、速度检测装置&#xff0c;广泛应用在伺服控制、机器人、机械工具、汽车、电力等领域。但是&#xff0c;旋转变压器在使用时并不能直接提供角度或位置信息&#xff0c;需要特殊的激励信号和解调、计算措施&#xff0c;才能将旋转变压器…...

字符串转浮点数函数atof、strtod、strtof和strtold使用场景

字符串转浮点数函数 atof、strtod、strtof 和 strtold 在 C 语言标准库中都有各自的使用场景&#xff0c;它们的主要功能是将字符串转换为浮点数&#xff0c;但在处理的浮点数类型、错误处理机制和精度方面有所不同。 一、atof 函数使用场景 atof&#xff08;ASCII to Float&…...

GD32F4xx系列微控制器中,定时器的主模式(Master Mode)和从模式(Slave Mode)

在GD32F4xx系列微控制器中&#xff0c;定时器的主模式&#xff08;Master Mode&#xff09;和从模式&#xff08;Slave Mode&#xff09;是两种不同的工作模式&#xff0c;它们的主要区别在于定时器的操作是否依赖于外部信号或另一个定时器的输出信号。以下是对这两种模式的详细…...

深度学习系列--03.激活函数

一.定义 激活函数是一种添加到人工神经网络中的函数&#xff0c;它为神经网络中神经元的输出添加了非线性特性 在神经网络中&#xff0c;神经元接收来自其他神经元的输入&#xff0c;并通过加权求和等方式计算出一个净输入值。激活函数则根据这个净输入值来决定神经元是否应该…...

在linux 中搭建deepseek 做微调,硬件配置要求说明

搭建 可参考 使用deepseek-CSDN博客 官方网站&#xff1a;DeepSeek DeepSeek 是一个基于深度学习的开源项目&#xff0c;旨在通过深度学习技术来提升搜索引擎的准确性和效率。如果你想在 Linux 系统上搭建 DeepSeek&#xff0c;你可以遵循以下步骤。这里我将提供一个基本的指…...

机器学习之数学基础:线性代数、微积分、概率论 | PyTorch 深度学习实战

前一篇文章&#xff0c;使用线性回归模型逼近目标模型 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课&#xff1a;引领人工智能新时代【梗直哥瞿炜】 线性代数、微积分、概率论 …...

MySQL - Navicat自动备份MySQL数据

对于从事IT开发的工程师&#xff0c;数据备份我想大家并不陌生&#xff0c;这件工程太重要了&#xff01;对于比较重要的数据&#xff0c;我们希望能定期备份&#xff0c;每天备份1次或多次&#xff0c;或者是每周备份1次或多次。 如果大家在平时使用Navicat操作数据库&#x…...

javaEE-9.HTML入门

目录 一.什么是html 二.认识html标签 1.标签的特点: 2.html文件基本结构 3.标签的层次结构 三、html工具 四、创建第一个文件 五.html常见标签 1标题标签h1-h6 2.段落标签:p 3.换行标签:br 4.图片标签:img 图片路径有1三种表示形式: 5.超链接:a 链接的几种形式: …...

springcloud微服务使用不同端口启动同一服务

若想同时启动两个服务&#xff0c;则会产生端口冲突&#xff0c;在启动类设置界面&#xff0c;添加虚拟机选项&#xff0c;随后设置 -Dserver.portxxxx即可...

JavaScript系列(61)--边缘计算应用开发详解

JavaScript边缘计算应用开发详解 &#x1f310; 今天&#xff0c;让我们深入探讨JavaScript的边缘计算应用开发。边缘计算是一种将计算和数据存储分布到更靠近数据源的位置的架构模式&#xff0c;它能够提供更低的延迟和更好的实时性能。 边缘计算基础架构 &#x1f31f; &am…...

【容器技术01】使用 busybox 构建 Mini Linux FS

使用 busybox 构建 Mini Linux FS 构建目标 在 Linux 文件系统下构建一个 Mini 的文件系统&#xff0c;构建目标如下&#xff1a; minilinux ├── bin │ ├── ls │ ├── top │ ├── ps │ ├── sh │ └── … ├── dev ├── etc │ ├── g…...

Effective Python系列(1.3):使用zip函数同时遍历两个迭代器

zip函数是 Python 中的一个内置函数&#xff0c;用于将多个可迭代对象&#xff08;如列表、元组等&#xff09;的元素配对&#xff0c;生成一个迭代器。 使用 zip 函数的好处之一就是能够节省内存空间&#xff0c;因为该函数会创建惰性生成器&#xff0c;每次遍历时只生成一个元…...

gitlab个别服务无法启动可能原因

目录 一、gitlab的puma服务一直重启 1. 查看日志 2. 检查配置文件 3. 重新配置和重启 GitLab 4. 检查系统资源 5. 检查依赖和服务状态 6. 清理和优化 7. 升级 GitLab 8. 查看社区和文档 二、 gitlab个别服务无法启动可能原因 1.服务器内存或磁盘已满 2.puma端口冲突…...

基于Springboot+vue的租车网站系统

基于SpringbootVue的租车网站系统是一个现代化的在线租车平台&#xff0c;它结合了Springboot的后端开发能力和Vue的前端交互优势&#xff0c;为用户和汽车租赁公司提供了一个高效、便捷、易用的租车体验和管理工具。以下是对该系统的详细介绍&#xff1a; 一、系统架构 后…...

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目&#xff0c;某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除&#xff0c;且其包含的commit也能被所有能看到这个仓库的…...

【后端开发】系统设计101——通信协议,数据库与缓存,架构模式,微服务架构,支付系统(36张图详解)

【后端开发】系统设计101——通信协议&#xff0c;数据库与缓存&#xff0c;架构模式&#xff0c;微服务架构&#xff0c;支付系统&#xff08;36张图&#xff09; 文章目录 1、通信协议通信协议REST API 对比 GraphQL&#xff08;前端-web服务&#xff09;grpc如何工作&#x…...

SpringMVC请求

一、RequestMapping注解 RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 1. 作用在类上&#xff1a;第一级的访问目录 2. 作用在方法上&#xff1a;第二级的访问目录 3. 细节&#xff1a;路径可以不编写 / 表示应…...

【学术征稿-组织单位 武汉理工大学西安理工大学、西安财经大学】第三届通信网络与机器学习(CNML 2025)

重要信息 官网&#xff1a;www.iccnml.org 大会时间&#xff1a;2025年2月21日-23日 大会地点&#xff1a;中国 南京 通信网络 通信是人与人之间通过某种媒体进行的信息交流与传递。网络是用物理链路将各个孤立的工作站或主机相连在一起&#xff0c;组成的数据链路。通信网…...

代码随想录算法训练营打卡第55天:并查集相关问题;

Java并查集的模板 //并查集模板 class DisJoint{private int[] father;public DisJoint(int N) {father new int[N];for (int i 0; i < N; i){father[i] i;}}public int find(int n) {return n father[n] ? n : (father[n] find(father[n]));}public void join (int …...

设计模式学习

1.设计模式分类 1.创建型模式 用于描述“怎样创建对象”&#xff0c;主要特点是“将对象的创建与使用分离”。 单例&#xff0c;原型&#xff0c;工厂方法&#xff0c;抽象工厂&#xff0c;建造者 2.结构型模式 用于描述如何将类或对象按某种布局组成更大的结构 代理&…...

js-对象-JSON

JavaScript自定义对象 JSON 概念: JavaScript Object Notation&#xff0c;JavaScript对象标记法. JSON 是通过JavaScript 对象标记法书写的文本。 由于其语法简单&#xff0c;层次结构鲜明&#xff0c;现多用于作为数据载体&#xff0c;在网络中进行数据传输. json中属性名(k…...

C/C++编译器

C/C 代码是不可跨平台的&#xff0c;Windows 和 Unix-like 有着不同的 API&#xff0c;C/C 在不同平台有着不同编译器。 MSVC Windows 平台&#xff0c;MSVC 是 Visual Studio 中自带的 C/C 编译器。 GCC Unix-like 平台&#xff0c;GCC 原名 GNU C Compiler&#xff0c;后…...

【R语言】数据操作

一、查看和编辑数据 1、查看数据 直接打印到控制台 x <- data.frame(a1:20, b21:30) x View()函数 此函数可以将数据以电子表格的形式进行展示。 用reshape2包中的tips进行举例&#xff1a; library("reshape2") View(tips) head()函数 查看前几行数据&…...

Linux 安装 RabbitMQ

Linux下安装RabbitMQ 1 、获取安装包 # 地址 https://github.com/rabbitmq/erlang-rpm/releases/download/v21.3.8.9/erlang-21.3.8.9-1.el7.x86_64.rpm erlang-21.3.8.9-1.el7.x86_64.rpmsocat-1.7.3.2-1.el6.lux.x86_64.rpm# 地址 https://github.com/rabbitmq/rabbitmq-se…...

“AI智能分析综合管理系统:企业管理的智慧中枢

在如今这个快节奏的商业世界里&#xff0c;企业面临的挑战越来越多&#xff0c;数据像潮水一样涌来&#xff0c;管理工作变得愈发复杂。为了应对这些难题&#xff0c;AI智能分析综合管理系统闪亮登场&#xff0c;它就像是企业的智慧中枢&#xff0c;让管理变得轻松又高效。 过去…...

2024最新版Java面试题及答案,【来自于各大厂】

发现网上很多Java面试题都没有答案&#xff0c;所以花了很长时间搜集整理出来了这套Java面试题大全~ 篇幅限制就只能给大家展示小册部分内容了&#xff0c;需要完整版的及Java面试宝典小伙伴点赞转发&#xff0c;关注我后在【翻到最下方&#xff0c;文尾点击名片】即可免费获取…...

调用腾讯云批量文本翻译API翻译srt字幕

上一篇文章介绍了调用百度翻译API翻译日文srt字幕的方法。百度翻译API是get方式调用&#xff0c;参数都放在ur中&#xff0c;每次调用翻译文本长度除了接口限制外&#xff0c;还有url长度限制&#xff0c;而日文字符通过ur转码后会占9个字符长度&#xff0c;其实从这个角度来讲…...

【分块解决大文件上传的最佳实践】

前言 前几天看了一篇关于大文件上传分块实现的博客&#xff0c;代码实现过于复杂且冗长&#xff0c;而且没有进行外网上传的测试。因此&#xff0c;我决定自己动手实现一个大文件上传&#xff0c;并进行优化。 实现思路 在许多应用中&#xff0c;大文件上传是常见的需求&…...

机器学习中的关键概念:通过SKlearn的MNIST实验深入理解

欢迎来到我的主页&#xff1a;【Echo-Nie】 本篇文章收录于专栏【机器学习】 1 sklearn相关介绍 Scikit-learn 是一个广泛使用的开源机器学习库&#xff0c;提供了简单而高效的数据挖掘和数据分析工具。它建立在 NumPy、SciPy 和 matplotlib 等科学计算库之上&#xff0c;支持…...

【Elasticsearch】post_filter

post_filter是 Elasticsearch 中的一种后置过滤机制&#xff0c;用于在查询执行完成后对结果进行过滤。以下是关于post_filter的详细介绍&#xff1a; 工作原理 • 查询后过滤&#xff1a;post_filter在查询执行完毕后对返回的文档集进行过滤。这意味着所有与查询匹配的文档都…...

Git基础

目录 一、Git介绍二、Git下载与配置1、下载安装Git2、Git配置2.1 注册码云账号2.2 Git配置 三、Git开发流程1、相关代码2、上述代码执行截图示例 四、Git提交&撤销五、Git资料 一、Git介绍 Git是一种分布式版本控制系统&#xff0c;广泛用于软件开发项目的版本管理。它由L…...

深度学习系列--02.损失函数

一.定义 损失函数&#xff08;Loss Function&#xff09;是机器学习和深度学习中用于衡量模型预测结果与真实标签之间差异的函数&#xff0c;它在模型训练和评估过程中起着至关重要的作用 二.作用 1.指导模型训练 提供优化方向&#xff1a;在训练模型时&#xff0c;我们的目…...

如何在自己mac电脑上私有化部署deep seek

在 Mac 电脑上私有化部署 DeepSeek 的步骤如下&#xff1a; 1. 环境准备 安装 Homebrew&#xff08;如果尚未安装&#xff09;&#xff1a; Homebrew 是 macOS 上的包管理工具&#xff0c;用于安装依赖。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com…...