萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 5.1 源碼編譯安裝於 RHEL 5:GBK 支持與 skip-federated 報錯解決

編譯安裝流程

# 1. 下載源碼
wget https://dev.mysql.com/downloads/mysql/5.1.html -O mysql-5.1.32.tar.gz
tar zxvf mysql-5.1.32.tar.gz
cd mysql-5.1.32

# 2. 配置參數(關鍵:GBK 支持)
./configure \
  --prefix=/usr/local/mysql5 \
  --with-charset=gbk \
  --with-collation=gbk_chinese_ci \
  --with-extra-charsets=all \
  --with-plugins=innobase,myisam,partition,federated

# 3. 編譯安裝
make && make install

# 4. 初始化
cp support-files/my-medium.cnf /etc/my.cnf
cd /usr/local/mysql5
bin/mysql_install_db --user=mysql
chown -R mysql:mysql /usr/local/mysql5/var
chown -R root:root /usr/local/mysql5

# 5. 啟動
bin/mysqld_safe --user=mysql &

啟動報錯與解決

/usr/local/mysql5/libexec/mysqld: Table 'mysql.plugin' doesn't exist
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[ERROR] unknown option '--skip-federated'
[ERROR] Aborting

錯誤 1:mysql.plugin 表缺失

原因:5.1 新增 plugin 表,需運行升級腳本。

解決:啟動後執行 mysql_upgrade -u root -p

錯誤 2:unknown option '--skip-federated'

原因:5.1.32+ 版本 federated 引擎改為插件式,my.cnf 中的 skip-federated 參數不再識別。

解決:

  1. 編輯 /etc/my.cnf,註釋或刪除 skip-federated 行
  2. 如需 Federated 引擎,編譯時添加 --with-plugins=federated,配置文件用 federated 參數啟用

驗證字符集

mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| character_set_client     | gbk    |
| character_set_connection | gbk    |
| character_set_database   | gbk    |
| character_set_results    | gbk    |
| character_set_server     | gbk    |
| character_set_system     | utf8   |
+--------------------------+--------+

生產環境建議

  • 優先使用官方 RPM/二進制包,避免編譯依賴地獄
  • RHEL 5 已停止維護,建議遷移至 RHEL 7/8/9 + MySQL 5.7/8.0
  • 字符集新項目統一使用 utf8mb4,GBK 僅維護舊系統
copyright © 萬盛學電腦網 all rights reserved