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

Linux 原始碼安裝 MySQL 效能優化:精簡模組、字符集裁剪、pgcc 編譯、靜態連結

     編輯:MySQL 資料庫相關知識

1. 精簡不需要的模組


./configure --help                    # 查看所有選項
./configure --without-server          # 僅安裝客戶端
./configure --prefix=/usr/local/mysql \
            --with-unix-socket-path=/tmp/mysql.sock \
            --without-debug           # 移除除錯符號

2. 僅編譯需要的字符集


./configure --with-charset=utf8 \
            --with-collation=utf8_general_ci \
            --with-extra-charsets=complex   # 僅含無法動態載入的複雜字符集
# 或 all(全部內建)、空格分隔列表
  • 減少二進制體積、啟動記憶體、字符集轉換開銷。

3. 使用 pgcc 編譯(舊版 GCC 情況)


CFLAGS="-O3 -mpentiumpro -mstack-align-double" \
CXX=gcc \
CXXFLAGS="-O3 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti" \
./configure ...
  • 針對 Pentium Pro/II/III 優化,現代 GCC (>=4.x) 已內建等效優化,通常改用 -O3 -march=native。

4. 靜態連結提升效能


./configure --with-client-ldflags=-all-static \
            --with-mysqld-ldflags=-all-static
  • 消除動態載入開銷,二進制較大但啟動/執行更快。
  • 注意:glibc 靜態連結可能導致 NSS/DNS 解析問題,需測試驗證。

MySQL 升級三法

方法適用引擎速度步驟核心
1. mysqldump 導出/導入所有最慢安裝新版 → dump 舊庫 → 導入新庫 → mysql_fix_privilege_tables → 重啟
2. mysqldump --tab + mysqlimport所有較快舊庫 --tab 導出 → 檔案傳輸 → 新庫建表 → mysqlimport 導入 → 升級權限表 → 重啟
3. 直接複製資料目錄MyISAM最快安裝新版 → 複製 .frm/.MYD/.MYI → 升級權限表 → FLUSH TABLES/重啟
  • 所有方法最後均需執行 mysql_fix_privilege_tables 升級權限表結構。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved