首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 環境下 MySQL 安全安裝完整指南:從下載到遠程部署實戰

     編輯:MySQL 綜合教學

前言:初探 Linux 伺服器的「甜與苦」

初次接觸 Linux 伺服器的開發者,往往會經歷「真香」與「蛋疼」並存的心路歷程。低配置的 Linux 機器跑起服務來輕快穩定,但全命令行的操作模式、複雜的依賴關係、以及動輒報錯的權限問題,確實讓人怨聲載道。本文記錄一次在華為雲 Linux 伺服器上,從零開始完成 MySQL 5.6 安全安裝、密碼重置、遠程授權到專案部署的完整實戰過程,旨在為同路人趟雷、填坑。

一、獲取安裝包:官方 RPM Bundle 下載與驗證

MySQL 官方提供打包好的 RPM Bundle,包含 Server、Client、Shared、Devel 等所有組件,適合離線或內網環境部署。使用 wget 支援斷點續傳,穩妥高效:

wget -c https://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar

參數說明: -c 表示支援斷點續傳,網路波動時無需重頭下載。下載完成後,建議對比 MD5 校驗碼,確保文件完整性。

二、解壓與批量安裝:一條龍解決依賴地獄

解壓 Bundle 包:

tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar

解壓後會產生多個 .rpm 文件。雖然核心只有 server 和 client,但為避免後續缺庫報錯,建議一次性全裝:

yum install MySQL-*.rpm --nogpgcheck

關鍵點: --nogpgcheck 跳過 GPG 簽名驗證,否則常報「Public Key not found」。安裝過程會輸出大量日誌,**務必留意輸出**,其中藏著初始隨機密碼的關鍵線索。

三、破解初始密碼:/root/.mysql_secret 的秘密

許多教程稱 MySQL 5.6+ 默認密碼為空,**實測完全錯誤**。安裝過程會在 /root/.mysql_secret 生成一個隨機密碼:

cat /root/.mysql_secret
# 輸出範例:The random password set for root@localhost is: XyZ123!@#

複製該密碼登入:

mysql -uroot -p
# 輸入隨機密碼

首次登入後,系統強制要求修改密碼:

SET PASSWORD = PASSWORD('YourStrongP@ssw0rd');

四、遠程訪問授權:踩過的「localhost」大坑

為了讓應用伺服器(如 Tomcat)遠程連線,執行標準授權:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YourStrongP@ssw0rd' WITH GRANT OPTION;
FLUSH PRIVILEGES;

**然而**,本地測試卻提示「密碼過期」。查詢 mysql.user 表發現 password_expired 為 Y:

SELECT host, user, password_expired FROM mysql.user WHERE user='root';
UPDATE mysql.user SET password_expired='N' WHERE user='root';
FLUSH PRIVILEGES;

以為大功告成,但用 mysql -h localhost -uroot -p 依然報錯。經排查,**localhost 在 MySQL 中走 Unix Socket,而 127.0.0.1 走 TCP/IP,權限記錄是分開的**。解決方案:

# 使用 127.0.0.1 登入重設一次密碼
mysql -h 127.0.0.1 -uroot -p
SET PASSWORD = PASSWORD('YourStrongP@ssw0rd');

至此,本地、遠程雙通道均正常。

五、插曲:華為雲 SSH 封禁 IP 的應急處理

多次密碼輸入錯誤導致伺服器防火牆封禁當前 IP,無法 SSH 登入。應急方案:

  1. 從其他可用 IP 登入伺服器(或使用雲廠商控制台 VNC)。
  2. 修改 SSH 端口(非 22),降低暴力破解風險:vim /etc/ssh/sshd_config,修改 Port 2222,重啟 service sshd restart。
  3. 清除封禁記錄:vim /etc/hosts.deny,刪除被封禁的 IP 行。
  4. 建議配置 fail2ban 或安全組規則長期防護。

總結

Linux 下 MySQL 安裝看似繁瑣,實則邏輯清晰:**官方 RPM + yum 解決依賴 → 讀取臨時密碼 → 強制改密 → 區分 localhost/127.0.0.1 權限 → 防火牆/安全組放行 3306**。掌握核心節點,避開常見坑點,一次部署,長期安穩。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved