您好,登錄后才能下訂單哦!
這篇文章主要介紹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編譯參數有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。