MySQL編譯參數多而復雜,讓新手感到很頭大,如果是正式生成環境安裝MySQL,沒有充足的時間去研究每一個參數代表的意義,個人建議使用余洪春前輩整理的編譯參數,便捷高效!
MySQL的線上安裝建議采取編譯安裝的方法,這樣性能上有較大提升,,源碼包的編譯參數會默認以Debgu模式生成二進制代碼,而Debug模式給MySQL帶來的性能損失是比較大的,所以當我們編譯准備安裝的產品代碼時,一定不要忘記使用“—without-debug”參數禁用Debug模式。
而如果把—with-mysqld-ldflags和—with-client-ldflags二個編譯參數設置為—all-static的話,可以告訴編譯器以靜態方式編譯和編譯結果代碼得到最高的性能。
使用靜態編譯和使用動態編譯的代碼相比,性能差距可能會達到5%至10%之多。
編譯參數如下所示(適合5.4及之前的版本):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
./configure --prefix=/usr/local/mysql \
--without-debug \
--without-bench \
--enable-thread-safe-client \
--enable-assembler \
--enable-profiling \
--enable-community-features \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static \
--with-charset=utf8 \ #具體看網站環境決定默認編碼
--with-extra-charset=all \
--with-innodb \ #個人博客可以不開啟innodb
--with-csv-storage-engine \
--with-federated-storage-engine \
--with-mysqld-user=mysql \
--without-embedded-server \
--with-server-suffix=-community \
--with-unix-socket-path=/usr/local/mysql/sock/mysql.sock