從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