Ubuntu离线安装mysql

在 Ubuntu 24.04 上离线安装 MySQL 的步骤如下(支持 MySQL 8.0 或 8.4):

一.安装方法

此次安装是按照方法一安装,其它方法供参考:

安装成功截图:

在这里插入图片描述

安全配置截图: sudo mysql_secure_installation

在这里插入图片描述

登录测试:

在这里插入图片描述

方法一:使用 apt-rdepends 下载依赖包(推荐)

1. 在联网机器上准备离线包
(1) 安装工具并清理缓存
sudo apt update
sudo apt install apt-rdepends wget
sudo rm -rf /var/lib/apt/lists/*
(2) 生成干净的依赖列表
mkdir ~/mysql-offline
cd ~/mysql-offline# 生成依赖列表并过滤无效条目
apt-rdepends mysql-server | \grep -v "^ " | \awk '{print $1}' | \grep -Ev 'debconf-2.0|<.*>|^mysql-common$' > deps.list
(3) 下载所有依赖包
sudo apt download $(cat deps.list)
(4) 打包并传输
tar czvf mysql-offline.tar.gz ./*

mysql-offline.tar.gz 复制到离线机器。

2. 在离线机器上安装
(1) 解压文件
sudo mkdir -p /var/cache/apt/archives
sudo tar xzvf mysql-offline.tar.gz -C /var/cache/apt/archives/
(2) 安装所有包
sudo apt install mysql-server --fix-missing --no-download
(3) 启动并配置
sudo systemctl start mysqlsudo systemctl enable mysql#停用mysql服务(可选)
sudo systemctl stop mysql
#安全配置
sudo mysql_secure_installation# 删除匿名用户
Remove anonymous users? [Y/n] Y# 禁止远程 root 登录
Disallow root login remotely? [Y/n] Y# 删除测试数据库
Remove test database and access to it? [Y/n] Y
3. 跳过密码验证(可选)

如果 MySQL 8.0+ 默认使用 auth_socket 插件导致密码登录失败,可先切换到密码认证:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;

方法二:手动下载官方 Bundle 包(适合 MySQL 8.4)

1. 在联网机器下载

从 MySQL 官网 下载对应 Bundle 包:

wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
wget https://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-server_8.4.0-1ubuntu24.04_amd64.deb-bundle.tar
2. 离线机器安装
# 解压 Bundle 包
tar -xvf mysql-server_*.deb-bundle.tar# 按顺序安装关键包
sudo dpkg -i mysql-common_*.deb
sudo dpkg -i mysql-community-client-plugins_*.deb
sudo dpkg -i mysql-community-client-core_*.deb
sudo dpkg -i mysql-community-client_*.deb
sudo dpkg -i mysql-client_*.deb
sudo dpkg -i mysql-community-server-core_*.deb
sudo dpkg -i mysql-community-server_*.deb
sudo dpkg -i mysql-server_*.deb# 修复依赖
sudo apt-get install -f

方法三:最小化手动安装(终极方案)

1. 必须下载的核心包(Ubuntu 24.04 amd6)
包名下载地址
libssl3http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl3_3.0.8-1ubuntu1_amd64.deb
mysql-commonhttps://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-common_8.4.0-1ubuntu24.04_amd64.deb
mysql-community-clienthttps://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-community-client_8.4.0-1ubuntu24.04_amd64.deb
mysql-community-serverhttps://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-community-server_8.4.0-1ubuntu24.04_amd64.deb
2. 安装命令
# 先安装 libssl3
sudo dpkg -i libssl3_*.deb# 安装 MySQL 基础包
sudo dpkg -i mysql-common_*.deb
sudo dpkg -i mysql-community-client_*.deb
sudo dpkg -i mysql-community-server_*.deb# 修复依赖
sudo apt-get install -f

二.关键配置

1. 修改数据存储路径(可选)
sudo mysql -u root -p
# 在 MySQL 命令行中执行
SET GLOBAL innodb_data_home_dir = '/new/data/path';
2. 允许远程访问
CREATE USER 'remote'@'%' IDENTIFIED BY 'YourPassword';
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';
FLUSH PRIVILEGES;

三.故障排查

1. 依赖缺失错误
# 检查缺失的包名(例如 libmecab2)
sudo apt-cache search libmecab2
# 手动下载并安装
sudo dpkg -i libmecab2_*.deb
2. 服务启动失败
# 查看日志
sudo journalctl -u mysql.service
# 常见原因:/var/lib/mysql 权限问题
sudo chown -R mysql:mysql /var/lib/mysql
3. 密码认证插件冲突
# 如果出现 "caching_sha2_password" 错误
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

验证安装

# 检查版本
mysql --version# 检查服务状态
sudo systemctl status mysql# 登录测试
sudo mysql -u root -p

总结

  • 推荐方案:优先使用 apt-rdepends 生成完整依赖包,适合需要与系统仓库完全一致的环境。
  • 快速方案:直接下载官方 Bundle 包,适合需要最新版 MySQL 8.4 的场景。

总结

  • 推荐方案:优先使用 apt-rdepends 生成完整依赖包,适合需要与系统仓库完全一致的环境。
  • 快速方案:直接下载官方 Bundle 包,适合需要最新版 MySQL 8.4 的场景。

希望这篇文章对你有所帮助!如果觉得不错,别忘了点赞收藏哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server 2022 读写分离问题整合

跟着热点整理一下遇到过的SQL Server的问题&#xff0c;这篇来聊聊读写分离遇到的和听说过的问题。 一、读写分离实现方法 1. 原生高可用方案 1.1 Always On 可用性组&#xff08;推荐方案&#xff09; 配置步骤&#xff1a; -- 1. 启用Always On功能 USE [master] GO ALT…

【前端扫盲】postman介绍及使用

Postman 是一款专为 API 开发与测试设计的 全流程协作工具&#xff0c;程序员可通过它高效完成接口调试、自动化测试、文档管理等工作。以下是针对程序员的核心功能介绍和应用场景说明&#xff1a; 一、核心功能亮点 接口请求构建与调试 支持所有 HTTP 方法&#xff08;GET/POS…

IdeaVim-AceJump

‌AceJump 是一款专为IntelliJ IDEA平台打造的开源插件&#xff0c;旨在通过简单的快捷键操作帮助用户快速跳转到编辑器中的任何符号位置&#xff0c;如变量名、方法调用或特定的字符串‌。无论是大型项目还是日常编程&#xff0c;AceJump 都能显著提升你的代码导航速度和效率。…

[C语言入门] 结构体

目录 1. 啥是结构体 2. 啥是结构体变量 3. 创建结构体变量的小细节 3.1 创建全局结构体变量&#xff08;不推荐&#xff09; 3.2 创建局部结构体变量&#xff08;不推荐&#xff09; 3.3 创建局部结构体变量Plus 4. 结构体在内存里面咋存&#xff1f; 5. 结构体作为参数…

贤小二c#版Yolov5 yolov8 yolov10 yolov11自动标注工具 + 免python环境 GPU一键训练包

贤小二c#版yolo标注训练工具集 欢迎使用贤小二AI标注训练系统v2.0 本课程所有演示程序全部免费 1、这节课程主要演示贤小二AI标注训练系统的使用&#xff0c;以及标注数据时注意事项和技巧&#xff1b; 2、本程序采用c# Net8.0框架开发&#xff0c;是贤小二开发的一款Yolo标注…

二分类交叉熵损失

二分类交叉熵损失&#xff08;Binary Cross-Entropy Loss&#xff09;是用于二分类问题的常见损失函数。它衡量的是模型输出的预测概率分布与真实标签之间的差异。 1 二分类问题 在二分类问题中&#xff0c;每个样本的目标输出是 0 或 1&#xff0c;表示样本属于某一类或另一类…

【C++】Cplusplus进阶

模板的进阶&#xff1a; 非类型模板参数 是C模板中允许使用具体值&#xff08;而非类型&#xff09;作为模板参数的特性。它们必须是编译时常量&#xff0c;且类型仅限于整型、枚举、指针、引用。&#xff08;char也行&#xff09; STL标准库里面也使用了非类型的模板参数。 …

关于pycharm远程连接服务器如何debug

1、pycharm远程连接只有pycharm专业版才可以&#xff0c;在校学生可以用学校邮箱申请。另外&#xff0c;网上电商也可以&#x1f92b; 2、远程连接有很多教程&#xff0c;可以参考的文章有很多。这里主要记录关于远程连接服务器debug遇到的一些问题。 3、由于远程连接服务器开…

数据结构每日一题day11(链表)★★★★★

题目描述&#xff1a;有一个带头结点的单链表L&#xff0c;请设计一个算法查找其第1个数据值为e的结点&#xff0c;若存在则返回指向该结点的指针&#xff0c;若不存在则返回 NULL。 算法思想&#xff1a; 输入检查&#xff1a;若链表为空&#xff08;仅有头结点&#xff09;&…

《HarmonyOS Next开发进阶:打造功能完备的Todo应用华章》

章节 6&#xff1a;日期选择器与日期处理 目标 学习如何使用DatePicker组件。理解日期格式化和日期计算。 内容 日期选择器基础 使用DatePicker组件。处理日期选择事件。 日期格式化 格式化日期为友好的文本。 日期计算 判断日期是否过期或即将到期。 代码示例 Entry Com…

迅饶科技X2Modbus网关-GetUser信息泄露漏洞

免责声明&#xff1a;本号提供的网络安全信息仅供参考&#xff0c;不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权&#xff0c;请及时与我联系&#xff0c;我将尽快处理并删除相关内容。 漏洞描述 该漏洞的存在是由于GetUser接口在…

Go 原理剖析:数据结构之字符串

在 Go 语言中&#xff0c;字符串&#xff08;string&#xff09;是一个非常重要的数据类型。它看似简单&#xff0c;但背后却隐藏着不少有趣的原理和优化技巧。今天我们就来聊聊 Go 中字符串的底层结构、特性&#xff0c;以及如何高效地使用它。 1. 字符串的底层结构 字符串的…

【SPP】蓝牙链路控制(LC)在SPP中互操作性深度解析

在蓝牙协议栈的精密分层体系中&#xff0c;其链路控制&#xff08;Link Control, LC&#xff09;层作为基带层的核心组件&#xff0c;承载着物理信道管理、连接建立与维护等关键任务。其互操作性要求直接决定了不同厂商设备能否实现无缝通信。本文将以蓝牙技术规范中的LC互操作…

Windows C++ 排查死锁

开发出来应用程序突然间卡死不动&#xff0c;如果其中是因为死锁问题卡列该如何排查 下面是一个简单的死锁例子 #include <iostream> #include <thread> #include <mutex>std::mutex a, b;void function_a() {std::lock_guard<std::mutex> _x(a);std:…

【零基础入门unity游戏开发——2D篇】2D 游戏场景地形编辑器——TileMap的使用介绍

考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…

【易订货-注册/登录安全分析报告】

前言 由于网站注册入口容易被机器执行自动化程序攻击&#xff0c;存在如下风险&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露&#xff0c;不符合国家等级保护的要求。短信盗刷带来的拒绝服务风险 &#xff0c;造成用户无法登陆、注册&#xff0c;大量收到垃圾短信的…

GLPI 未授权SQL注入漏洞(CVE-2025-24799)

免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…

基于Deepface的情绪识别c++

基于Deepface的情绪识别c 文章目录 基于Deepface的情绪识别c简介下载模型并转为onnx&#xff08;facial_expression_model_weights.h5&#xff09;测试取出照片的人脸部分并处理成模型输入格式用模型推理一下看看结果 用onnxruntime的c库推理 简介 DeepFace是一个基于深度学习…

Java的数据库编程——JDBC基础

JDBC编程 一、概述1.1 概念介绍1.2 驱动包下载1.3 导入驱动包 二、通过Java程序操作数据库2.1 通过 JDBC 进行 插入数据 操作2.1.1 创建“数据源(DataSource)——描述要操作的数据库、数据是在哪”2.1.2 与服务器建立连接2.1.3 构造sql语句&#xff0c;并且对字符串类型的sql进…

DeepSeek-R1 面试题汇总

Deepseek-r1 面试宝典 原文地址&#xff1a;https://articles.zsxq.com/id_91kirfu15qxw.html DeepSeek-R1 面试题汇总 DeepSeek-R1 面试题汇总 GRPO&#xff08;Group Relative Policy Optimization&#xff09;常见面试题汇总篇 DeepSeek-R1 DeepSeek-R1-Zero 常见面试题汇总…