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

[特殊字符] 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.dtcms.com/a/314037.html

相关文章:

  • 小鹏汽车前端面经
  • 笔记本电脑联想T14重启后无法识别外置红米屏幕
  • 【银河麒麟服务器系统】自定义ISO镜像更新内核版本
  • Axure日期日历高保真动态交互原型
  • Axure设计Web端新增表单页面模板案例
  • 蚂蚁S9矿板引脚定义
  • 基于Java的AI/机器学习库(Smile、Weka、DeepLearning4J)的实用
  • 3Ds Max 2019 安装配置教程(精简版适配 | 含中文设置与常见问题)
  • HIL技术:轻松开展整车热管理控制器功能验证
  • PSOFT Pencil+ 4.25 插件安装教程(适用于 3ds Max 2022-2025)
  • CVPR论文解析:告别Janus问题,text-to-3D更一致!
  • ⭐CVPR2025 AKiRa:让视频生成玩转相机光学的黑科技[特殊字符]
  • 9.感知机、神经网络
  • (论文速读)Text-IF:基于语义文本引导的退化感知交互式图像融合方法
  • 深度学习-ResNet50V2训练
  • 【Axure高保真原型】中继器表格——自适应高度
  • JVM(Java虚拟机)运行时数据区
  • 2025年信创政策解读:如何应对国产化替代挑战?(附禅道/飞书多维表格/华为云DevCloud实战指南)
  • 正点原子阿波罗STM32F429IGT6移植zephyr rtos(四)---在独立的应用工程里使用MPU6050
  • Visual Studio Code的下载,安装
  • 复合机器人抓取精度怎么测量?
  • STM32F103C8T6 BC20模块NBIOT GPS北斗模块采集温湿度和经纬度发送到EMQX
  • Elasticsearch Ingest Pipeline 实现示例
  • 移动前后端全栈项目
  • 计算机网络:理解路由的下一跳
  • Android 区块链 + CleanArchitecture + MVI 架构实践
  • 小羊直播 for Android TV
  • 安卓264和265编码器回调编码数据写入文件的方法
  • C++临时对象:来源与性能优化之道
  • 36.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--缓存Token