MYSQL典型的configure選項(轉)

ba發表於2007-08-16
MYSQL典型的configure選項(轉)[@more@]  configure指令碼給你一個很大的控制權來如何配置你的MySQL分發。典型地,你使用configure命令列的選項進行。你也可以用正確的環境變數作用於configure。對於一個由configure支援的選擇列表,執行這個命令:

shell> ./configure -- help

  一些更常用的configure選項見下面的描述:

* 只編譯MySQL客戶庫和客戶程式而不是伺服器,使用--without-server選項:

shell> ./configure --without-server

如果你沒有一個 C++ 編譯器,mysql將不編譯(有一個客戶程式需要C++)。在這種情況下,你可以去掉configure裡面測試C++編譯器的程式碼,然後執行帶有 --without-server選項的./configure。編譯步驟步將仍然嘗試構造mysql,但是你可以忽略任何關於“ mysql.cc ”的警告。(如果make停止,試試make -k告訴它即使出錯繼續剩下的構造步驟)。
* 如果你不想要位於“/usr/local/var”目錄下面的日誌(log)檔案和資料庫,使用類似於下列configure命令的一個:

shell>./configure--prefix=/usr/local/mysql
shell>./configure--prefix=/usr/local --localstatedir=/usr/local/mysql/data

第一個命令改變安裝字首以便任何東西被安裝在“/usr/local/mysql”下面而非預設的“/usr/local”。第二個命令保留預設安裝字首,但是覆蓋了資料庫目錄預設目錄(通常是“/usr/local/var”)並且把它改/usr/local/mysql/data.
* 如果你正在使用Unix並且你想要MySQL的套接字位於預設地點以外的某個地方(通常在目錄“/tmp”或“/var/run”,使用象這樣的configure的命令:

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

注意給出的檔案必須是一個絕對路徑!
* 如果你想編譯靜態連結程式(例如,製作二進位制分發、獲得更快的速度或與解決與RedHat分發的一些),像這樣執行configure:

shell>./configure --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static

* 如果你正在使用gcc並且沒有安裝libg++或libstdc++,你可以告訴configure使用gcc作為C++編譯器:

shell> CC=gcc CXX=gcc ./configure

當你使用時gcc作為C++編譯器是,它將不試圖連結libg++或libstdc++。如果構造失敗並且產生有關編譯器或連結器的錯誤,不能建立共享庫 “libmysqlclient.so.#”(“#”是一個版本號), 你可以透過為configure指定--disable-shared選項來解決此問題。在這種情況下,configure將不構造一個共享 libmysqlclient.so.#庫。
* 你可以設定MySQL對於非NULL的列不使用DEFAULT列值(即,不允許列是NULL)。這導致INSERT語句產生一個錯誤,除非你明確地為所有要求非NULL值的列指定值。為了禁止使用預設值,這樣執行configure:

shell> CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure

* 預設地,MySQL使用ISO-8859-1(Latin1)字符集。為了改變預設設定,使用--with-charset選專案:

shell> ./configure -- with-charset=CHARSET

CHARSET可以是big5、cp1251、cp1257、czech、danish、dec8、dos、euc_kr、gb2312 gbk、german1、hebrew、 hp8、hungarian、koi8_ru、koi8_ukr、latin1、latin2、sjis、swe7、tis620、ujis、usa7、 win1251或win1251ukr之一。見9.1.1 用於資料和排序的字符集。注意:如果你想要改變字符集,你必須在配置期間做make distclean!如果你想在伺服器和客戶之間變換字元,你應該看一下SET OPTION CHARACTER SET命令。見7.25 SET OPTION句法。警告:如果你在建立了任何資料庫表之後改變字符集,你將必須對每個表執行myisamchk -r -q,否則你的索引可能不正確地排序。(如果你安裝了MySQL,建立一些表,然後重新配置MySQL使用一個不同的字符集並且重新安裝它,這時就可能發生這種情況。)
* 為了配置MySQL帶有除錯程式碼,使用--with-debug選項:

shell> ./configure --with-debug

這導致包含一個安全的記憶體分配器,能發現一些錯誤和並提供關於正在發生的事情的輸出。見G.1除錯一個MySQL伺服器。
* 屬於特定系統的選項可在本章特定系統的小節裡找到。見4.11 系統特定的問題。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961879/,如需轉載,請註明出處,否則將追究法律責任。

相關文章