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 下載頁 選對應版本。
-c 續傳、-O 指定輸出文件名、--limit-rate=500k 限速、-q 靜默模式-i)、升級(-U)、查詢(-q)、驗證(-V)、卸載(-e)、檢查簽名(--checksig)-ivh (install + verbose + hash進度條)、-Uvh (升級或安裝)、-qa | grep pkg (查詢已安裝)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 數據庫。
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
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
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 庫、重載權限
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 無可用包 / 404 | Repo 配置錯誤/未啟用/網絡不通 | 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 自動解析依賴安裝服務端,三步構建完整軟件交付鏈路。理解工具分層協作,遇到依賴衝突、源不可用、簽名驗證失敗等異常時,能精準定位層級、快速修復。生產環境建議:**鎖定版本、內網鏡像源、安裝前備份配置、安裝後安全加固、納入配置管理**。