MYSQL典型的configure选项(转)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MYSQL典型的configure选项(转)[@more@]configure脚本给你一个很大的控制权来如何配置你的MySQL分发。典型地,你使用configure命令行的选项进行。你也可以用正确的环
千家信息网最后更新 2026年11月01日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 系统特定的问题。
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 系统特定的问题。
编译
命令
字符
字符集
编译器
C++
运行
客户
数据
目录
配置
情况
数据库
服务器
正在
程序
系统
链接
错误
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡
哈尔滨大商圈互联网科技有限公司
互联网科技公司的优势
互联网金融 科技
深圳互联网科技公司
深圳互联网络科技有限公司
电子科技大学互联网
西安互联网科技公司
互联网科技股有哪些
金融科技和互联网金融
中正互联网科技招聘
云创客互联网科技公司
互联网科技项目计划书材料类
重庆互联网医院沙龙医盟信息科技
佛山市拉法互联网科技有限公司
阿里互联网科技企业
国大互联网教育科技有限公司薪资
南通创西澳互联网科技有限公司
图游互联网科技
山东大美朱楼互联网科技有限公司
云之行互联网科技
互联网科技集团
互联网科技小贷
互联网女皇 腾讯科技
沃里互联网科技
茂名市互联网科技产业园
中化能源互联网科技招聘
青岛科技大学互联网大赛研究生
南博望互联网科技有限公司
互联网领先科技成果宣传视频