mysql 編譯程式 mysql安裝編譯

2021-10-19 18:36:12 字數 2949 閱讀 1258

mysql

安裝前確認以下包已經裝好

gcc gcc-c++ ncurses-devel

/usr/sbin/groupadd mysql

/usr/sbin/useradd -g mysql mysql

tar zxvf mysql-5.4.0-beta.tar.gz

cd mysql-5.4.0-beta

cflags="-o6 -mpentiumpro -fomit-frame-pointer" cxx=gcc cxxflags="-o6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"

./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/var/ --with-server-suffix=-enterprise-gpl --without-debug --with-big-tables --with-extra-charsets=latin1,gb2312,big5,utf8,gbk --with-extra-charsets=all --with-pthread --enable-static --enable-thread-safe-client --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-innodb --without-ndb-debug --without-isam --with-federated-storage-engine

make && make install

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

my.cnf檔案記得登出--skip-federated引擎功能再啟動mysql

./mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql &

mysql

編譯引數說明:根據

./configure --help

檢視支援配置的引數

-pgcc和-o6編譯

cflags="-o6 -mpentiumpro -fomit-frame-pointer" cxx=gcc cxxflags="-o6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"

總體效能可提高10%,當然如果

伺服器不是用奔騰處理器,就不必用它了,因為它是專為奔騰系統設計的

-static靜態編譯

--enable-static

--with-client-ldflags=-all-static

--with-mysqld-ldflags=-all-static

以靜態方式編譯客戶端和服務端,能提高13%效能

--enable-thread-safe-client

以執行緒方式編譯客戶端

--without-innodb

去掉innodb表支援,innodb是一種支援事務處理的表,適合

企業級應用

--without-isam

去掉isam表型別支援,現在很少用了,isam表是一種依賴平台的表

--without-ndb-debug

取消導航除錯

--localstatedir=/usr/local/mysql/var/

日誌檔案目錄

--with-server-suffix=-enterprise-gpl

給mysql加個字尾名,在用mysql登入的時候在版本號的後面可以看到

--without-debug

去除診斷模式,如果用--with-debug=full編譯,大多數查詢慢20%

--with-big-tables

大表支援

--with-extra-charsers=gbk,gb2312,utf8

設定支援gbk,gb2312,utf8字符集

--with-pthread

強制使用pthread庫(posix執行緒庫)

--enable-assembler

使用一些字元函式來彙編版本

--with-federated-storage-engine

這個引數已經被廢除,代替它的是--with-plugin系列

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

mysql/support-files裡面有配置檔案範本,根據實際情況選擇或者更改

/usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --defaults-file=/usr/local/mysql/my.cnf --pid-file=/usr/local/mysql/mysql.pid

設定預設值:預設空間路徑;預設資料檔案路徑;預設使用者;預設配置檔案路徑;預設pid檔案路徑。

本腳步未加入的編譯引數:

--with-charset=utf8

設定預設字符集

--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock

使用unix套接字鏈結提高7.5%效能,所以在windows下mysql效能肯定不如unix

--with-tcp-port=3306 指定mysql例項將監聽tcp 3306埠

GCC編譯程式

gcc gnu compiler collection 是linux下最主要的一種編譯工具。gcc編譯格式 gcc 選項 源檔名 選項 目標檔名 採用預設得方式編譯原始檔,系統會生成a.out可執行檔案 採用顯式編譯成目標檔案,在編譯成可執行檔案 gcc c hello.c 生成hello.o gc...

mysql devel 編譯 mysql編譯安裝

防火牆 selinux systemctl stop firewalld systemctl disable firewalld vim etc selinux config selinux disabled yum install wget y wget o mariadb 10.2.29.tar...

mysql devel 編譯 mysql編譯安裝

cd usr local wget wget wget 帶boost的mysql原始碼安裝 1 安裝依賴包 yum y install make gcc c cmake bison devel ncurses devel bison perl perl devel perl perl devel 2...