# 1. 檢查現有安裝
rpm -qa | grep -i mysql
# 2. 掛載光碟/ISO,進入 Packages 目錄
cd /mnt/Packages
# 3. 依序安裝依賴套件 (關鍵順序)
rpm -ivh perl-DBD-MySQL-*.rpm
rpm -ivh mysql-community-client-*.rpm
rpm -ivh mysql-community-common-*.rpm
rpm -ivh mysql-community-libs-*.rpm
rpm -ivh mysql-community-server-*.rpm
# 4. 驗證安裝
rpm -ql mysql-community-server | head -20
核心原則:先裝共用庫與客戶端,再裝伺服器端;缺什麼補什麼,不要強制 --nodeps。
# 1. 配置官方 YUM 倉庫
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
rpm -ivh mysql80-community-release-el7-5.noarch.rpm
# 2. 選擇版本 (預設啟用 8.0)
yum repolist enabled | grep mysql
# 3. 一鍵安裝
yum install -y mysql-community-server
# 4. 啟動並設定開機自啟
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld # 查看狀態
systemctl stop mysqld # 停止
systemctl restart mysqld # 重啟
systemctl enable mysqld # 開機自啟
# 1. 獲取臨時密碼 (MySQL 5.7+)
grep 'temporary password' /var/log/mysqld.log
# 2. 首次登入並修改密碼
mysql -uroot -p'臨時密碼'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;
密碼策略:預設啟用 validate_password 元件,需滿足長度、大小寫、數字、特殊字元要求。
[mysqld]
# 基礎路徑
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
# 字元集 (務必 utf8mb4)
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# InnoDB 核心參數
innodb_buffer_pool_size=4G # 實體記憶體 60-80%
innodb_log_file_size=512M
innodb_flush_log_at_trx_commit=1 # ACID 保證
innodb_file_per_table=ON
# 連接與效能
max_connections=1000
thread_cache_size=100
table_open_cache=4000
query_cache_type=OFF # MySQL 8.0 已移除
slow_query_log=ON
long_query_time=1
# 二進位日誌 (主從/備份必備)
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7
server-id=1
# 1. 安裝 PHP 擴展
yum install -y php-mysqlnd php-mbstring php-json php-session
# 2. 下載解壓
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.tar.gz
tar -xzf phpMyAdmin-*.tar.gz -C /var/www/html/
mv /var/www/html/phpMyAdmin-* /var/www/html/phpmyadmin
# 3. 配置權限
chown -R apache:apache /var/www/html/phpmyadmin
chmod 755 /var/www/html/phpmyadmin
# 4. 建立配置儲存資料庫
mysql -uroot -p < /var/www/html/phpmyadmin/sql/create_tables.sql
| 現象 | 可能原因 | 解決方向 |
|---|---|---|
| Can't connect to local MySQL server | 服務未啟動 / socket 路徑錯誤 | systemctl status mysqld; 檢查 my.cnf socket 參數 |
| Access denied for user 'root'@'localhost' | 密碼錯誤 / 權限表損壞 | 跳過授權表啟動重置密碼 |
| InnoDB: mmap failed | 記憶體不足 / buffer_pool 過大 | 調整 innodb_buffer_pool_size |
| Table 'performance_schema.xxx' doesn't exist | 版本升級未執行 mysql_upgrade | 執行 mysql_upgrade -uroot -p |
掌握標準化安裝流程、核心參數調優與安全基線配置,是構建穩定高效 MySQL 服務的基石。建議將安裝腳本化 (Ansible/Shell) 納入基礎設施即代碼體系。