從 MySQL 官網下載三個核心 RPM:
MySQL-server-5.6.XX-X.el6.x86_64.rpmMySQL-client-5.6.XX-X.el6.x86_64.rpmMySQL-devel-5.6.XX-X.el6.x86_64.rpm(開發庫,選裝)rpm -ivh MySQL-server-5.6.XX-X.el6.x86_64.rpm
安裝過程輸出關鍵資訊:
/root/.mysql_secret/var/lib/mysql/rpm -ivh MySQL-client-5.6.XX-X.el6.x86_64.rpm rpm -ivh MySQL-devel-5.6.XX-X.el6.x86_64.rpm
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
cat /root/.mysql_secret # 輸出範例:A random root password has been set. You will find it in '/root/.mysql_secret'. # 密碼為檔案內容(如:XyZ123!@#) mysql -u root -p # 輸入上述密碼
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewStrongPassword123!');
mysql> FLUSH PRIVILEGES;
mysql> EXIT;
chkconfig mysql on # 或 systemctl enable mysqld (CentOS 7+)
# 測試連線 mysql -u root -p'NewStrongPassword123!' -e "SELECT VERSION();" # 檢查進程 ps aux | grep mysql # 檢查埠監聽 netstat -ntlp | grep 3306
| 類型 | 路徑 |
|---|---|
| 配置檔 | /etc/my.cnf |
| 資料目錄 | /var/lib/mysql/ |
| Socket 檔 | /var/lib/mysql/mysql.sock |
| 錯誤日誌 | /var/lib/mysql/<hostname>.err |
| 二進位日誌 | /var/lib/mysql/mysql-bin.* |
| 啟動腳本 | /etc/init.d/mysql |
| 安裝目錄 | /usr/bin/, /usr/lib64/mysql/, /usr/share/mysql/ |
| 問題 | 解決方案 |
|---|---|
| 安裝報檔案衝突 | 先卸載 mariadb-libs 或其他 mysql 套件:rpm -e --nodeps mariadb-libs |
| 無法連線 Socket | 確認 my.cnf 中 socket 路徑一致,或指定 -S /var/lib/mysql/mysql.sock |
| 密碼策略報錯 | MySQL 5.6 無 validate_password 元件,5.7+ 需調整 validate_password_policy |
| 中文亂碼 | my.cnf 設定 character-set-server=utf8mb4、collation-server=utf8mb4_unicode_ci |
mysql_secure_installation # 互動式執行: # 1. 修改 root 密碼 # 2. 移除匿名用戶 # 3. 禁止 root 遠端登入 # 4. 移除 test 資料庫 # 5. 重新載入權限表