Mysql典型的configure选项(转)[@more@] configure脚本给你一个很大的控制权来如何配置你的
mysql分发。典型地,你使用configure命令行的选项进行。你也可以用正确的环境变量作用于configure。对于一个由configure支持的选择列表,运行这个命令:
shell> ./configure -- help
一些更常用的configure选项见下面的描述:
* 只编译My
sql客户库和客户程序而不是
服务器,使用--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 OPT
ioN CHARACTER SET命令。见7.25 SET OPTION句法。警告:如果你在创建了任何数据库表之后改变字符集,你将必须对每个表运行myisamchk -r -q,否则你的
索引可能不正确地排序。(如果你安装了MySQL,创建一些表,然后重新配置MySQL使用一个不同的字符集并且重新安装它,这时就可能发生这种情况。)
* 为了配置MySQL带有调试代码,使用--with-debug选项:
shell> ./configure --with-debug
这导致包含一个
安全的内存分配器,能发现一些错误和并提供关于正在发生的事情的输出。见G.1调试一个MySQL服务器。
* 属于特定系统的选项可在本章特定系统的小节里找到。见4.11 系统特定的问题。
0