在 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)
包名 | 下載地址 |
---|---|
libssl3 | http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl3_3.0.8-1ubuntu1_amd64.deb |
mysql-common | https://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-common_8.4.0-1ubuntu24.04_amd64.deb |
mysql-community-client | https://repo.mysql.com/apt/ubuntu/pool/mysql-8.4/m/mysql-community/mysql-community-client_8.4.0-1ubuntu24.04_amd64.deb |
mysql-community-server | https://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 的場景。
希望這篇文章對你有所幫助!如果覺得不錯,別忘了點贊收藏哦!