萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Mysql 5.5.x以及以前版本mysql編譯參數對比

Mysql 5.5.x以及以前版本mysql編譯參數對比

Mysql 不同版本之前在參數配置上會有一些區別,對於每個版本區別是什麼我們不一個個介紹,這裡介紹目前主流的Mysql 5.5.x以及以前版本mysql編譯參數對比吧,具體的細節如下所示。

從mysql5.5起,MySQL源碼安裝開始使用cmake。下面是 mysql 5.5 與以前的參數對照:


1. 命令語法:重新編譯時,需要清除舊的對象文件和緩存信息
# make clean
# rm -f  CMakeCache.txt
2.安裝選項
CMAKE_INSTALL_PREFIX值是安裝的基本目錄,其他cmake選項值是不包括前綴,是相對路徑名,絕對路徑包括 CMAKE_INSTALL_PREFIX路徑。如-DINSTALL_SBINDIR=sbin的絕對路徑是/usr/local/mysql /sbin
3.存儲引擎選項
mysql存儲引擎是插件式的,因此插件控制選項可以指定那個存儲引擎安裝。
configure編譯插件選項--with-plugins=csv,myisam,myisammrg,heap,innobase,
archive,blackhole在cmake中沒有直接對應的相同選項。對於csv,myisam,myisammrg,heap在cmake中是不需要明確指定存儲引擎的名稱,因為它們是強制性安裝。
 
可以使用以下選擇來安裝innodb,archive,blackhole存儲引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
 
-DWITH_ARCHIVE_STORAGE_ENGINE=1
 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
 
(1可以使用on代替)
 
如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE 也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE 來指定存儲引擎,該存儲引擎將安裝成共享模塊式的。如果不是共享模塊式的將排除在外。共享模塊安裝時必須使用INSTALL PLUGIN語句或--plugin-load才可以使用。
 
4.其他選項
之前MySQL的編譯選項大多數都支持。新舊版本之間的安裝選項映射成大寫字母,刪除選項前面破折號,中間字符間的破折號替換成下劃線。如:
--with-debug => WITH_DEBUG=1
 
--with-embedded-server => WITH_EMBEDDED_SERVER
 
5.調試配置過程
使用configure編譯完將生成config.log和config.status文件。
使用cmake編譯完在CMakeFiles目錄下生成CMakeError.log 和CMakeOutput.log文件。
 
編譯參數參考:
 
BUILD_CONFIG   采用官方發行版一致的編譯參數
CMAKE_BUILD_TYPE 指定產品編譯說明信息   RelWithDebInf
CMAKE_INSTALL_PREFIX 指定MySQL安裝路徑  /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立單個安裝包文件 OFF   5.5.7
DEFAULT_CHARSET  MYSQL 默認字符集  latin1   5.5.7
DEFAULT_COLLATION MYSQL 默認排序字符集  latin1_swedish_ci 5.5.7
ENABLE_DEBUG_SYNC 是否啟用同步調試功能  ON   5.5.7
ENABLE_DOWNLOADS 是否下載可選文件  OFF   5.5.7
ENABLE_DTRACE  是否包含 DTrace 支持     5.5.7
ENABLE_GCOV  是否包含 Gcov 支持     5.5.14
ENABLED_LOCAL_INFILE 是否啟用本地 LOAD DATA INFILE OFF   5.5.7
ENABLED_PROFILING 是否啟用代碼查詢分析  ON   5.5.7
INSTALL_BINDIR  MySQL 主執行文件目錄  PREFIX/bin  5.5.7
INSTALL_DOCDIR  文檔安裝路徑   PREFIX/docs  5.5.7
INSTALL_DOCREADMEDIR 自述文件目錄   PREFIX   5.5.7
INSTALL_INCLUDEDIR 頭文件目錄   PREFIX/include  5.5.7
INSTALL_INFODIR  關於信息文件目錄  PREFIX/docs  5.5.7
INSTALL_LAYOUT  選擇預定義的安裝  STANDALONE  5.5.7
INSTALL_LIBDIR  庫文件目錄   PREFIX/lib  5.5.7
INSTALL_MANDIR  手冊頁面目錄   PREFIX/man  5.5.7
INSTALL_MYSQLSHAREDIR 共享數據目錄   PREFIX/share  5.5.7
INSTALL_MYSQLTESTDIR mysql-test 目錄   PREFIX/mysql-test 5.5.7
INSTALL_PLUGINDIR 插件目錄   PREFIX/lib/plugin 5.5.7
INSTALL_SBINDIR  服務器超級用戶執行文件目錄 PREFIX/bin  5.5.7
INSTALL_SCRIPTDIR 腳本目錄   PREFIX/scripts  5.5.7
INSTALL_SHAREDIR aclocal/mysql.m4 安裝目錄 PREFIX/share  5.5.7
INSTALL_SQLBENCHDIR sql-bench 性能測試工具目錄 PREFIX   5.5.7
INSTALL_SUPPORTFILESDIR 擴展支持文件目錄  PREFIX/support-files 5.5.7
MYSQL_DATADIR  數據庫存放目錄      5.5.7
MYSQL_MAINTAINER_MODE 是否啟用MySQL的維護環境  OFF   5.5.7
MYSQL_TCP_PORT  TCP/IP 端口號   3306   5.5.7
MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock  5.5.7
SYSCONFDIR  選項配置文件目錄     5.5.7
WITH_COMMENT  編譯環境發表評論     5.5.7
WITH_DEBUG  是否包括調試支持  OFF   5.5.7
WITH_EMBEDDED_SERVER 是否要建立嵌入式服務器  OFF   5.5.7
WITH_xxx_STORAGE_ENGINE 靜態編譯xxx 存儲引擎到服務器    5.5.7
WITH_EXTRA_CHARSETS 額外的字符集,包括  all   5.5.7
WITH_LIBWRAP  是否包括支持libwrap(TCP包裝) OFF   5.5.7
WITH_READLINE  使用捆綁的readline  OFF   5.5.7
WITH_SSL  是否支持SSL  no   5.5.7
WITH_ZLIB  是否支持Zlib  system   5.5.7

 




configure Command
CMake Command

./configure
cmake .

./configure --help
cmake . -LH or ccmake .

 




Parameter
configure Option
CMake Option
CMake Notes

Installation base directory
--prefix=/usr
-DCMAKE_INSTALL_PREFIX=/usr


mysqld directory
--libexecdir=/usr/sbin
-DINSTALL_SBINDIR=sbin
interpreted relative to prefix

Data directory
--localstatedir=/var/lib/mysql
-DMYSQL_DATADIR=/var/lib/mysql


Config directory (for my.cnf)
--sysconfdir=/etc/mysql
-DSYSCONFDIR=/etc/mysql


Plugin directory
--with-plugindir=/usr/lib64/mysql/plugin
-DINSTALL_PLUGINDIR=lib64/mysql/plugin
interpreted relative to prefix

Man page directory
--mandir=/usr/share/man
-DINSTALL_MANDIR=share/man
interpreted relative to prefix

Shared-data directory
--sharedstatedir=/usr/share/mysql
-DINSTALL_SHAREDIR=share
this is where aclocal/mysql.m4 should be installed

Library installation directory
--libdir=/usr/lib64/mysql
-DINSTALL_LIBDIR=lib64/mysql
interpreted relative to prefix

Header installation directory
--includedir=/usr/include/mysql
-DINSTALL_INCLUDEDIR=include/mysql
interpreted relative to prefix

Info doc directory
--infodir=/usr/share/info
-DINSTALL_INFODIR=share/info
interpreted relative to prefix

 




Parameter
configure Option
CMake Option
CMake Notes

readline library
--with-readline
-DWITH_READLINE=1


SSL library
--with-ssl=/usr
-DWITH_SSL=system


zlib library
--with-zlib-dir=/usr
-DWITH_ZLIB=system


libwrap library
--without-libwrap
-DWITH_LIBWRAP=0

 




Parameter
configure Option
CMake Option
CMake Notes

TCP/IP port number
--with-tcp-port-=3306
-DMYSQL_TCP_PORT=3306


UNIX socket file
--with-unix-socket-path=/tmp/mysqld.sock
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock


Enable LOCAL for LOAD DATA
--enable-local-infile
-DENABLED_LOCAL_INFILE=1


Extra charsets
--with-extra-charsets=all
-DEXTRA_CHARSETS=all
default is "all"

Default charset
--with-charset=utf8
-DDEFAULT_CHARSET=utf8


Default collation
--with-collation=utf8_general_ci
-DDEFAULT_COLLATION=utf8_general_ci


Build the server
--with-server
none


Build the embedded server
--with-embedded-server
-DWITH_EMBEDDED_SERVER=1


libmysqld privilege control
--with-embedded-privilege-control
none
always enabled?

Install the documentation
--without-docs
none


Big tables
--with-big-tables, --without-big-tables
none
tables are big by default

mysqld user
--with-mysqld-user=mysql
-DMYSQL_USER=mysql
mysql is the default

Debugging
--without-debug
-DWITH_DEBUG=0
default is debugging disabled

GIS support
--with-geometry
none
always enabled?

Community features
--enable-community-features
none
always enabled

Profiling
--disable-profiling
-DENABLE_PROFILING=0
enabled by default

pstack
--without-pstack
none
pstack is removed

Assembler string functions
--enable-assembler
none


Build type
--build=x86_64-pc-linux-gnu
no equivalent
unneeded?

Cross-compile host
--host=x86_64-pc-linux-gnu
no equivalent
unneeded?

Client flag
--with-client-ldflags=-lstdc++
none
unneeded

Client flag
--enable-thread-safe-client
none
unneeded, clients are always thread safe

Comment
--with-comment='string'
-DWITH_COMMENT='string'


Shared/static binaries
--enable-shared --enable-static
none
there is only DISABLE_SHARED

Memory use
--with-low-memory
none
unneeded

 

 

copyright © 萬盛學電腦網 all rights reserved