共計 3441 個字符,預計需要花費 9 分鐘才能閱讀完成。
這篇文章主要介紹 Mysql 中 CMAKE 編譯參數有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Linux 平臺下 MySQL 的安裝方式主要有 3 種:
1、通過 RPM 包進行安裝;
2、直接使用編譯好的二進制文件進行安裝;
3、下載源代碼,采用自定義選項的方式安裝。
使用源碼安裝的時候 CMAKE 有眾多參數,下面對部分參數做一些解釋說明。
常用的參數:
● -DCMAKE_INSTALL_PREFIX:用于指定軟件的安裝路徑,默認是安裝到 /usr/local/mysql 目錄,編譯安裝完之后感覺路徑不合適也沒關系,只要 MySQL 進程沒有啟動,隨時都可以修改這個目錄的名稱和存儲路徑。
● -DDEFAULT_CHARSET:指定 MySQL 服務的默認字符集,本參數的默認值為 latin1.MySQL 能夠支持的字符集非常多,詳細可以參考 MySQL 源碼目錄下,cmake/character_sets.cmake 文件中 SET (CHARSETS_AVAILABLE) 變量的值,這一選項在 MySQL 服務啟動時也可以通過 character_set_server 參數進行設置。
● -DDEFAULT_COLLATION:指定 MySQL 服務的默認校對規則,本參數的默認值為 latin1 swedish_ ci,這一選項在 MySQL 服務啟動時也可以通過 collation_ server 參數進行設置。
● -DENABLED_LOCAL_INFILE:足否允許從客戶端本地加載數據到 MySQL 服務端,專用于 LOAD DATA INFILE 語句,默認是不允許的。
● -DENABLED_PROFILING:是否啟動 query profiling,專用于 SHOW PROFILE 和 SHOW PROFILES 語句,默認是啟用的。
● -DMYSQL_DATADIR:指定 MySQL 數據庫數據文件的存儲路徑,這一選項在 MySQL 服務啟動時可以通過 datadir 參數進行設置。
● -DSYSCONFDIR:指定 MySQL 參數文件的默認路徑,這一選項可以在 MySQL 服務啟動時通過 defaults-file 參數進行設置。
● -DWITH_ ENGINE _STORAGE_ENGINE:靜態編譯某存儲引擎,可選的存儲引擎關鍵字有 ARCHIVE、BLACKHOLE、EXAMPLE、FEDERATED、INNOBASE、PARTITION、PERFSCHEMA,其實 MySQL 支持的存儲引擎不止這些,但像 MyISAM、MERGE、MEMORY 及 CSV 四種存儲引擎默認就會被編譯至服務端,無需指定。另外,上面列舉的若干關鍵字也并非都是存儲引擎,比如 PARTITION 就是指是否允許文持分區,PERFSCHEMA 則是 Performance_schema 庫。
如:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
● -DWITHOUT_ ENGINE _STORAGE_ENGINE:與前面參數的功能正好相反,本參數用于指定不編譯的存儲引擎。例如,當不需要編譯 example 存儲引擎時,則可以指定 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1.
如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
● -DWITH_EXTRA_CHARSETS: 指定附加支持的字符集,默認是 all,即全部。
可能用到的參數如下:
● -DINSTALL_BINDIR:指定 MySQL 各項命令的存儲路徑,默認在 CMAKE_INSTALL_PREFIX/bin 目錄下。
● -DINSTALL_DOCDIR:指定 MySQL 文檔的存儲路徑,默認在 CMAKE_INSTALL_PREFIX/docs 目錄下。
● -DINSTALL_INCLUDEDIR:指定頭文件的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/include 目錄下。
● -DINSTALL_LIBDIR:指定鏈接文件的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/lib 目錄下。
● -DINSTALL_MANDIR:指定用戶手冊的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/man 目錄下。
● -DINSTALL_PLUGINDIR:指定 Plugin 的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/lib/plugin 目錄下。
● -DINSTALL_SBINDIR:指定服務端執行腳本的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/bin 目錄下。
● -DINSTALL_SCRIPTDIR:指定 MySQL 自帶的 mysql_install_db 腳本的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/scripts 目錄下。
● -DINSTALL_SHAREDIR=share 指向 aclocal/mysql.m4 安裝目錄(prefix/share)
● -DINSTALL_INFODIR=share/info 指向 info 文檔存放目錄(prefix/share/info)
● -DINSTALL_SQLBENCHDIR:指定 sql-bench 的存儲路徑,默議是保存于 CMAKE_INSTALL_PREFIX 目錄下。
● -DINSTALL_SUPPORTFILESDIR:指定 MySQL 自帶的附加支持類文件的存儲路徑,默認是保存于 CMAKE_INSTALL_PREFIX/support-files 目錄下。
● -DMYSQL_TCP_PORT:指定 MySQL 數據庫提供服務的 TCP/IP 端口,默認為 3306,這一選項可以在 MySQL 服務啟動時通過 port 參數進行設置。
● -DMYSQL_UNIX_ADDR:指定套接字文件的存儲路徑,默認是在 /tmp/mysql.sock 目錄下,這一選項可以在 MySQL 服務啟動時通過 socket 參數進行設置。
● -DWITH_COMMENT:指定編譯信息,這個參數在 5.1 及之前版本有效,對于 5.5 及以后版本無效,如果需要指定編譯信息,可以使用 -DCOMPILATION_COMMENT 參數來替代。
● -DWITH_READLINE:指定輸入輸出的處理方式,在 5.1 及之前版本無需單獨處理,默認就是使用 readline 方式,不過進入 5.5 版本后,MySQL 編譯時默認使用 libedit 處理輸入和輸出,可能導致當前環境登錄 mysql 命令行模式后,無法輸入中文(僅針對當前編譯環境,其他客戶端不受影響),因此編譯時需要指定其以 readline 方式處理。
提示:
關于 -DWITH READLINE 參數,在 5.6.10 版本中,即使指定 -DWITH_READLINE,默認仍然使用 libedit 處理輸入輸出,這種情況下即使安裝成功,全程未報錯,但輸入中文時可能會遇到出現“Segmentation fault”錯誤提示,導致本地連接的 mysql 命令行出錯中止,官方將之定義為 BUG,詳細情況可以參考 http://bugs.mysql.com/bug.php?id=68231。
● -DWITH_SSL=system 啟用 ssl 庫支持(安全套接層)
● -DWITH_ZLIB=system 啟用 libz 庫支持(zib、gzib 相關)
● -DWTIH_LIBWRAP=0 禁用 libwrap 庫(實現了通用 TCP 包裝的功能,為網絡服務守護進程使用)
● -DWITH_EMBEDDED_SERVER=1 編譯嵌入式服務器支持
● -DMYSQL_USER=mysql 指定 mysql 用戶 (默認為 mysql)
● -DWITH_DEBUG=0 禁用 debug(默認為禁用)
● -DENABLE_PROFILING=0 禁用 Profiling 分析(默認為開啟)
● -DWITH_COMMENT= string 一個關于編譯環境的描述性注釋
以上是“Mysql 中 CMAKE 編譯參數有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!