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

[特殊字符] Ubuntu 下 MySQL 离线部署教学(含手动步骤与一键脚本)

适用于 Ubuntu 20.04 / 22.04 无网络环境部署 MySQL。
建议初学者先按手动方式部署一遍理解原理,再使用自动化脚本完成批量部署。


📁 一、准备工作

✅ 1. 虚拟机环境
  • 系统:Ubuntu 22.04(或兼容版本)
  • 环境:无网络或受限网络
  • 工具:支持 ISO 挂载(可选)
✅ 2. 在联网主机下载依赖包
# 在联网环境中操作
mkdir ~/mysql_offline && cd ~/mysql_offline# 下载所需的 deb 包(建议使用 apt-download)
sudo apt install -y apt-utils# 下载 mysql-server 及其依赖(以当前系统为准)
apt download mysql-server mysql-client libaio1
✅ 3. 打包为 ISO 文件
sudo apt install genisoimage -y
genisoimage -o mysql_offline.iso ~/mysql_offline

📦 二、手动部署过程(推荐先动手操作)

🔧 1. 将 ISO 文件挂载到目标虚拟机
sudo mkdir -p /mnt/mysqliso
sudo mount -o loop /path/to/mysql_offline.iso /mnt/mysqliso
cd /mnt/mysqliso

注意:/path/to/ 替换为你实际的 ISO 路径。


💿 2. 安装 MySQL
sudo dpkg -i *.deb
sudo apt --fix-broken install -y

如果提示缺失依赖,根据提示 apt download xxx 并补齐即可。


▶️ 3. 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql

🔐 4. 初始化安全配置(建议设置 root 密码)
sudo mysql_secure_installation

推荐选择「Y」来启用密码策略,初学可以设置简单密码如 123456


🌍 5. 配置远程访问(可选)
sudo mysql -u root -p
# 输入刚才设置的密码,进入后执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

🔓 6. 开放防火墙端口(如有)
sudo ufw allow 3306
sudo ufw reload

🤖 三、一键部署脚本(推荐在熟悉手动过程后使用)

mysql_offline_deploy.sh
#!/bin/bashecho "🔧 挂载 ISO..."
sudo mkdir -p /mnt/mysqliso
sudo mount -o loop /path/to/mysql_offline.iso /mnt/mysqliso || exit 1echo "📦 安装 MySQL..."
cd /mnt/mysqliso || exit 1
sudo dpkg -i *.deb
sudo apt --fix-broken install -yecho "▶️ 启动服务..."
sudo systemctl enable mysql
sudo systemctl start mysqlecho "🔐 设置 root 密码并开启远程访问..."
sudo mysql <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EOFecho "🌍 开放端口..."
sudo ufw allow 3306
sudo ufw reloadecho "✅ MySQL 离线部署完成!"

🧪 四、使用说明

  1. 确保 ISO 文件已经上传并存在本机路径;

  2. 替换脚本中的 /path/to/mysql_offline.iso 为实际路径;

  3. 添加可执行权限:

    chmod +x mysql_offline_deploy.sh
    
  4. 执行部署:

    ./mysql_offline_deploy.sh
    

📎 五、补充建议

  • 若希望 ISO 中包含更多依赖,请使用联网机器完整安装 mysql-server 后,使用如下命令列出所有安装包依赖:

    apt-cache depends mysql-server
    
  • 建议封装 .deb 包为 .tar.gz 上传后解压也是一种选择(适合无 ISO 工具的服务器)。

http://www.xdnf.cn/news/16941.html

相关文章:

  • Java 课程,每天解读一个简单Java之正整数分解质因数
  • 在安卓中使用 FFmpegKit 剪切视频并添加文字水印
  • 05.Redis 图形工具RDM
  • io_getevents 和 io_pgetevents 系统调用及示例
  • 论文阅读:DMD蒸馏 | One-step Diffusion with Distribution Matching Distillation
  • SaProt 模型部署与运行教程
  • 【AI】文档理解
  • ZStack Cloud 5.3.40正式发布
  • 大模型能力测评(提示词请帮我把这个项目改写成为python项目)
  • 人工智能之数学基础:几何型(连续型)随机事件概率
  • 深度学习周报(7.28~8.3)
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(七级)
  • 抖音全新推荐大模型RankMixer
  • p2p打洞
  • 后端研发转型爬虫实战:Scrapy 二开爬虫框架的避坑指南
  • [2025ICCV-目标检测方向]DuET:通过无示例任务算术进行双增量对象检测
  • 记一次v-if和key错误使用,导致vue2的内存爆炸修复!
  • 十八、Javaweb-day18-前端实战-登录
  • 11.消息队列
  • 2. 字符设备驱动
  • Docker环境离线安装指南
  • 计算机网络:如何将一个C类网络划分成两个子网
  • 35.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--数据缓存
  • Docker-03.快速入门-部署MySQL
  • 【大模型实战】向量数据库实战 - Chroma Milvus
  • Android 之 蓝牙通信(4.0 BLE)
  • CASAtomic 原子操作详解
  • 1.内核模块
  • 攻防世界-web-csaw-mfw
  • IO流-字节流-FileOutputStream