MYSQL典型的configure選項(轉)
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 系統特定的問題。