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

CentOS 7 极速安裝 MySQL 社區版:三條命令搞定與核心原理解析

     編輯:MySQL 綜合教學

CentOS 7 极速安裝 MySQL 社區版:三條命令搞定與核心原理解析

CentOS 7 基礎倉庫無 MySQL 服務端包,需引入官方 Yum 源。本文提供最精簡安裝流程,並深度解析 wget、rpm、yum 三大工具鏈的協作原理,助你從「會用」進階到「懂原理」。

一、三條命令極速安裝

# 1. 下載官方 Yum 源配置包
wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

# 2. 安裝源配置包 (寫入 /etc/yum.repos.d/mysql-community.repo)
rpm -ivh mysql80-community-release-el7-7.noarch.rpm

# 3. 一鍵安裝服務端 (自動解析依賴、下載、安裝)
yum install -y mysql-community-server

💡 版本選擇:上例安裝 MySQL 8.0。需 5.7 請下載 mysql57-community-release-el7-11.noarch.rpm,官網 Yum Repo 下載頁 選對應版本。

二、工具鏈深度解析

1. wget:非交互式網絡下載器

  • 作用:從 HTTP/HTTPS/FTP 下載文件,支持斷點續傳、遞歸鏡像、代理、帶寬限制
  • 關鍵參數:-c 續傳、-O 指定輸出文件名、--limit-rate=500k 限速、-q 靜默模式
  • 默認行為:當前工作目錄保存,文件名取 URL 最後段

2. rpm:紅帽包管理器 (底層)

  • 核心能力:安裝(-i)、升級(-U)、查詢(-q)、驗證(-V)、卸載(-e)、檢查簽名(--checksig)
  • 常用組合:-ivh (install + verbose + hash進度條)、-Uvh (升級或安裝)、-qa | grep pkg (查詢已安裝)
  • 痛點:依賴地獄 — 手動解決依賴鏈,多包安裝極其繁瑣

3. yum:Yellowdog Updater Modified (高層封裝)

  • 核心價值:自動解析依賴關係,從配置的 Repo 下載所有依賴包並按拓撲序安裝
  • Repo 本質:包含 RPM 包集合 + repodata 元數據 (XML/ SQLite 索引) 的 HTTP/本地目錄
  • 關鍵命令:
命令作用
yum install pkg安裝包及依賴
yum remove pkg卸載包及無用依賴
yum update [pkg]升級全部/指定包
yum search keyword搜索包名/描述
yum info pkg查看包詳細信息
yum list installed列出已安裝包
yum clean all清理緩存 (/var/cache/yum)
yum makecache預下載元數據建立索引
yum repolist列出啟用的倉庫
yum provides */file反查文件屬於哪個包

工作流程:解析依賴圖 → 下載所有 RPM 到緩存 → 事務檢查 (簽名/衝突/磁盤空間) → 按拓撲序 rpm -i 安裝 → 執行腳本腳本 → 更新本地 RPM 數據庫。

三、安裝後核心驗證與基礎配置

1. 服務管理

systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld

2. 獲取臨時 root 密碼 (5.7/8.0 默認安全初始化)

grep 'temporary password' /var/log/mysqld.log
# 2023-10-15T08:30:45.123456Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xKp#9qLv!2mR

3. 首次登入修改密碼並安全加固

mysql -u root -p'xKp#9qLv!2mR' --connect-expired-password
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!@#';
mysql> FLUSH PRIVILEGES;

# 執行安全腳本 (交互式)
mysql_secure_installation
# 移除匿名用戶、禁止 root 遠程、移除 test 庫、重載權限

4. 創建遠程應用帳號

mysql -u root -p'NewStrongPass123!@#'
mysql> CREATE USER 'app_user'@'10.0.%.%' IDENTIFIED BY 'AppPass456$%^';
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON myapp.* TO 'app_user'@'10.0.%.%';
mysql> FLUSH PRIVILEGES;

四、常見問題速查

現象原因解決
yum install 無可用包 / 404Repo 配置錯誤/未啟用/網絡不通yum repolist 檢查、ping repo.mysql.com、檢查 /etc/yum.repos.d/mysql-community.repo enabled=1
GPG key 驗證失敗簽名金鑰未導入/過期rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql 或 yum install 時輸入 y 導入
服務啟動失敗datadir 權限/SELinux/端口佔用/配置錯誤journalctl -u mysqld -xe 查看詳情;chown mysql:mysql datadir;firewall-cmd --add-port=3306/tcp
ERROR 1820 (HY000)首次登入未修改過期密碼加 --connect-expired-password 參數登入修改
ERROR 1130 (HY000) Host not allowed用戶宿主不匹配CREATE USER 'u'@'%' 或具體 IP,FLUSH PRIVILEGES

總結

wget 下載源配置 → rpm 註冊源元數據 → yum 自動解析依賴安裝服務端,三步構建完整軟件交付鏈路。理解工具分層協作,遇到依賴衝突、源不可用、簽名驗證失敗等異常時,能精準定位層級、快速修復。生產環境建議:**鎖定版本、內網鏡像源、安裝前備份配置、安裝後安全加固、納入配置管理**。

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