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

Linux (RHEL/CentOS) 下 MySQL RPM 套件安裝與初始化完整步驟

     編輯:MySQL 資料庫相關知識

下載 RPM 套件

至 MySQL 官網 選擇對應 OS 版本 (如 Red Hat Enterprise Linux 7/8, Oracle Linux) 下載 RPM Bundle,或使用官方 Yum Repository (推薦)。

傳統完整安裝需 6 個套件:

  • mysql-community-server
  • mysql-community-client
  • mysql-community-libs
  • mysql-community-devel
  • mysql-community-test
  • mysql-community-debuginfo (可選)

Yum 方式安裝 (推薦,自動解決相依)

# 1. 安裝官方 Yum Repo
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

# 2. 檢視可用版本
yum repolist enabled | grep mysql
yum list mysql-community-server --showduplicates

# 3. 安裝指定版本 (或最新)
yum install mysql-community-server-8.0.36-1.el7

# 4. 啟動並設定開機自啟
systemctl start mysqld
systemctl enable mysqld

RPM 手動安裝 (離線環境)

# 解決相依順序安裝
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-client-*.rpm
rpm -ivh mysql-community-server-*.rpm --nodeps  # 若缺 perl-DBI 等可暫時 --nodeps 後補裝
rpm -ivh mysql-community-devel-*.rpm
rpm -ivh mysql-community-test-*.rpm

注意:--nodeps 僅作臨時繞過,**事後必須補齊相依套件** (如 yum install perl-DBI),否則服務可能異常。

首次啟動與 Root 密碼初始化

  1. MySQL 5.7+ / 8.0 安裝後會產生**隨機臨時密碼**,位於 /var/log/mysqld.log:
grep 'temporary password' /var/log/mysqld.log
  1. 首次登入修改密碼:
mysql -u root -p'臨時密碼'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongP@ssw0rd!';
-- MySQL 8.0 需符合密碼策略 (validate_password)
FLUSH PRIVILEGES;
  1. 若忘記密碼,跳過授權表重設:
systemctl stop mysqld
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mysqld
mysql -u root
UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
systemctl stop mysqld
systemctl unset-environment MYSQLD_OPTS
systemctl start mysqld
# 重新登入設定新密碼

重要目錄對照

用途路徑
資料目錄/var/lib/mysql/
配置檔/etc/my.cnf
啟動腳本/usr/lib/systemd/system/mysqld.service
執行檔/usr/bin/ (mysql, mysqladmin, mysqldump...)
日誌檔/var/log/mysqld.log
Socket/var/lib/mysql/mysql.sock

服務管理

systemctl start mysqld
systemctl stop mysqld
systemctl restart mysqld
systemctl status mysqld
systemctl enable mysqld   # 開機自啟
systemctl disable mysqld

安全加固

mysql_secure_installation

互動式完成:設定密碼策略、移除匿名用戶、禁止 root 遠端登入、移除測試庫、重載權限。

防火牆開放

firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload
# 或指定埠
firewall-cmd --permanent --add-port=3306/tcp

驗證安裝

mysql -u root -p -e "SELECT VERSION(); SHOW DATABASES;"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved