至 MySQL 官網 選擇對應 OS 版本 (如 Red Hat Enterprise Linux 7/8, Oracle Linux) 下載 RPM Bundle,或使用官方 Yum Repository (推薦)。
傳統完整安裝需 6 個套件:
# 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 -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),否則服務可能異常。
/var/log/mysqld.log:grep 'temporary password' /var/log/mysqld.log
mysql -u root -p'臨時密碼'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongP@ssw0rd!';
-- MySQL 8.0 需符合密碼策略 (validate_password)
FLUSH PRIVILEGES;
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;"