適用于 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 離線部署完成!"
🧪 四、使用說明
-
確保 ISO 文件已經上傳并存在本機路徑;
-
替換腳本中的
/path/to/mysql_offline.iso
為實際路徑; -
添加可執行權限:
chmod +x mysql_offline_deploy.sh
-
執行部署:
./mysql_offline_deploy.sh
📎 五、補充建議
-
若希望 ISO 中包含更多依賴,請使用聯網機器完整安裝 mysql-server 后,使用如下命令列出所有安裝包依賴:
apt-cache depends mysql-server
-
建議封裝
.deb
包為.tar.gz
上傳后解壓也是一種選擇(適合無 ISO 工具的服務器)。