首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

VirtualBox 構建 Ubuntu Server MySQL 測試環境筆記:網絡模式、固定 IP、SSH 免密登錄

     編輯:MySQL 資料庫相關知識

宿主機環境

  • Host: Windows 10/11
  • VirtualBox 6.1+ / 7.0+
  • Guest: Ubuntu 20.04 / 22.04 / 24.04 Server (64-bit)

網絡模式選擇 (關鍵決策)

模式宿主機訪客機客機訪外網外網訪客機適用場景
NAT需端口映射✅❌純客機上網,宿主機連接需映射
Bridge (橋接)✅ 同網段✅✅ (同區域)**推薦**:客機如真實主機,直接 SSH/DB 連接
Host-Only✅ 隔離網段❌❌完全隔離測試,無外網干擾
NAT Network需映射✅❌多客機內網互通+上網

實測結論:有線網卡橋接完美;**無線網卡橋接在 VirtualBox 歷史上極不穩定** (宿主機無線網卡無法處理多 MAC),建議有線環境用橋接,無線環境用 **NAT + 端口映射** 或 **Host-Only + 宿主機 ICS 共享上網**。

Ubuntu Server 最小化安裝後初始化


# 1. 更新源與系統
sudo apt update && sudo apt upgrade -y

# 2. 安裝 OpenSSH Server (若安裝時未勾選)
sudo apt install -y openssh-server
sudo systemctl enable --now ssh

# 3. 配置固定 IP (Netplan, Ubuntu 18.04+)
sudo vim /etc/netplan/00-installer-config.yaml
# 內容 (縮進 2 空格,嚴禁 Tab):
network:
  version: 2
  ethernets:
    eth0:  # 用 `ip link` 確認介面名
      dhcp4: false
      addresses: [192.168.1.78/24]
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1, 8.8.8.8]
# 應用
sudo netplan apply

# 4. 驗證連通性
ip addr show eth0
ping 192.168.1.1
ping 8.8.8.8

SSH 免密登錄 (宿主機 → 客機)


# 宿主機 (PowerShell / Git Bash / WSL)
ssh-keygen -t ed25519 -C "host-to-vm"  # 一路回車
ssh-copy-id -i ~/.ssh/id_ed25519.pub ubuntu@192.168.1.78
# 輸入密碼,完成

# 測試
ssh ubuntu@192.168.1.78  # 直接進入,無需密碼

MySQL 8.0 快速部署 (客機內)


# 1. 安裝
sudo apt update && sudo apt install -y mysql-server

# 2. 安全初始化
sudo mysql_secure_installation
# 設置 root 密碼、移除匿名、禁止遠程 root、移除 test、重載

# 3. 開放遠程訪問 (可選,測試環境)
sudo mysql -u root -p -e "
CREATE USER 'dev'@'%' IDENTIFIED BY 'DevPass123!';
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
"
# 修改配置綁定 0.0.0.0
sudo sed -i "s/^bind-address.*/bind-address = 0.0.0.0/" /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql

# 4. 宿主機驗證連接
mysql -h 192.168.1.78 -u dev -pDevPass123! -e "SELECT VERSION();"

共享文件夾 (宿主機 ↔ 客機 文件互傳)

  1. VirtualBox 管理器 → 虛擬機設置 → 共享文件夾 → 添加宿主機目錄 (如 D:\VM_Share) → 勾選「自動掛載」「固定分配」。
  2. 客機內:sudo apt install -y virtualbox-guest-utils → 重啟 → 掛載點 /media/sf_VM_Share (需用戶加入 vboxsf 組:sudo usermod -aG vboxsf $USER 重新登錄)。

快照與克隆 (環境備份/分發)

  • 快照:配置完成、MySQL 就緒時打快照 (「乾淨基線」),測試損壞秒級回滾。
  • 鏈接克隆:基於基線快照創建鏈接克隆,幾秒複製一個獨立測試環境,磁碟極小。
  • 導出設備**:File → Export Appliance 生成 .ova,分發給團隊/導入雲平台。
  • 避坑清單

    1. Netplan YAML 縮進錯誤**:必須 2 空格,**禁用 Tab**,否則 netplan apply 報錯無提示行號。
    2. 橋接無線網卡不通**:換有線 / 用 NAT+端口映射 / Host-Only+ICS。
    3. Ubuntu 防火牆**:sudo ufw allow 3306/tcp / sudo ufw allow ssh / sudo ufw enable。
    4. MySQL 默認 bind-address=127.0.0.1**:必須改 0.0.0.0 才能遠程連接。
    5. 時區**:sudo timedatectl set-timezone Asia/Shanghai。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved