漫漫长路,其修远兮!
分类: Mysql/postgreSQL
2013-05-09 14:29:36
原文地址:MYSQL5.5源码编译配置选项 作者:xiaozhenggang
上周,因工作需要配了一周的LAMP,都是按照文档配的,对其中的相关选项不甚了解,现在参照官方文档把相关的参数整了出来,下面是有关MYSQL的:
mysql源码编译选项
其中(bool={{1|on}|{0|off}})
1.一般选项
-DBUILD_CONFIG=mysql_release
使用与mysql官方发行的二进制版本(mysql_release)相同的配置
-DCMAKE_BUILD_TYPE=type
type包括:RelWithDebInfo:默认编译类型,开启优化,生成调试信息
Debug:反上,与-DWITH_DEBUG=1等效
-DCPACK_MONOLITHIC_INSTALL=bool
这个编译选项决定了编译时是否产生多个安装文件。如果启用该选项,则只会产生一个安装文件,但它包括mysql的所有东西;如果不启用该选项,则会产生多个安装文件,它们是mysql完整安装文件的子集,你可以根据需要安装。
安装布局选项
-DCMAKE_INSTALL_PREFIX=dir_name
mysql安装主目录,可以在mysql server启动的时候用--basedir选项指定
-DINSTALL_BINDIR=dir_name
用户程序安装路径
-DINSTALL_DOCDIR=dir_name
相关文档存放路径
-DINSTALL_DOCREADMEDIR=dir_name
README文档存放路径
-DINSTALL_INCLUDEDIR=dir_name
头文件安装路径
-DINSTALL_INFODIR=dir_name
Info文档存放路径
-DINSTALL_LAYOUT=name
预定义安装布局:
STANDALONE:默认布局,使用与.tar.gz,.zip包类似布局
RPM:使用与RPM类似的布局
SVR4:使用Solaris包布局
DEB:使用DEB包布局
你可以先指定一个预定义在布局,然后再指定其它具体的参数来做相应的修改
如: cmake .-DINSTALL_LAYOUT=RPM -DMYSQL_DATADIR=/data/mysql/data
-DINSTALL_LIBDIR=dir_name
库文档安装路径
-DINSTALL_MANDIR=dir_name
手册安装路径
-DINSTALL_MYSQLTESTDIR=dir_name
mysql-test安装目录
-DINSTALL_SBINDIR=dir_name
mysqld安装目录
-DINSTALL_SCRIPTDIR=dir_name
mysql_install_db安装目录
-DINSTALL_SHAREDIR=dir_name
aclocal/mysql.m4安装目录
-DINSTALL_SQLBENCHDIR=dir_name
sql-bench安装目录。不安装该目录请使用空值:-DINSTALL_SQLBENCHDIR=
-DINSTALL_SUPPORFILESDIR=dir_name
附加支持文档安装目录
-DMYSQL_DATADIR=dir_name
mysql数据存放目录,可以在mysql server启动的时候用—datadir选项指定
-DSYSCONFDIR=dir_name
默认的my.cnf文档存放路径。你可以在mysql server启动的时候用—defaults-file=file_name(full path)选项指定你要使用的配置文件
存储引擎选项
存储引擎是当作插件来编译的,可分为动态组件(安装时必须使用INTALL_PLUGIN语句或在使用前用—plugin-load选项指明)与静态组件(编译到server中)两种模式。
MYISAM,MERGE,MEMORY,CSV存储引擎是默认安装的,在编译时无须指明;ARCHIVE,BLACKHOLE,EXAMPLE,FEDERATED,INNOBADE(INNODB),PARTITION,PERFSCHME等存储引擎在编译时需要指明,语法为DWITH_engine_SRORAGE_ENGINE=1;如:
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1如果不需要某个存储引擎,可用-DWITHOUT_engine_SRORAGE_ENGINE=1指出;如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1如果没有指明是否使用某个存储引擎,那么它们将会被编译成共享组件;如果不能编译成共享组件,则它们将不会被编译进去。
特征选项:
-DDEFAULT_CHARSET=charset_name
指定server使用的字符集;默认使用latin1.
charset_name可以是:binary, armscii8, ascii, big5, cp1250, cp1251, cp1256, cp1257, cp850, cp852, cp866, cp932, dec8, eucjpms, euckr, gb2312, gbk, geostd8, greek, hebrew, hp8, keybcs2, koi8r, koi8u, latin1, latin2, latin5, latin7, macce, macroman, sjis, swe7, tis620, ucs2, ujis, utf8, utf8mb4, utf16, utf32.
在cmake/characte_sets.cmake文档中列出了所有可用的字符集。
你也可以在 server启动的时候用—character_set_server选项指明字符集
-DDEFAULT_COLLATION=collation_name
server的排序规则;默认值为latin1_swedish_ci。可以使用SHOW COLLATION语句查看每个字符集可用的排序规则。
你也可以在server启动的时候使用—collation_server指定某个排序规则。
-DENABLE_DEBUG_SYNC=bool
指明是否编译同步调试工具(用于测试及调试)到server中,默认启用
-DENABLE_DOWNLOADS=bool
指明是否下载可选文件。
-DENABLE_DTRACE=bool
指明是否支持DTrace probes
-DENABLE_GCOV=bool
指明是否支持gcov
-DENABLE_LOCAL_INFILE=bool
指明在客户端是否启用本地数据导入功能
你也可以有server启动的时候用—local-infile选项启用该功能
-DENABLED_RPOFILING=bool
指明是否启用概要文档查询功能(针对SHOW PROFILE /SHOW PROFILES)
-DMYSQL_MAINTAINER_MODE=boo
指明是否启用MYSQL maintainer-specific开发环境;如启用,则编译器会将编译时出现的警告转为错误
-DMYSQL_TCP_PORT=file_name
指定server的TCP/IP监听端口,默认为3306
你也可以在server启动时用—port选项指定端口
-DMYSQL_UNIX_ADDR=file_name
指定socket文档存放路径,默认为/tmp/mysq.sock
-DWITH_COMMENT=string
编译环境的描述性注释
-DWITH_DEBUG=bool
指明是否包含对debugging的支持
-DWITH_EMBEDDEC_SERVER=bool
指明是否编译server的嵌入式库libmysqld
-DWITH_EXTRA_CHARSETS=name
指定包含哪些附加的字符集
all:包含的有的字符集,默认值
complex:复合字符集
none:不添加
-DWITH_LIBWRAP=bool
指明是否包含对libwrap(TCP wrappers)的支持
-DWITH_SSL=ssl_type
指定是否支持ssl及支持的ssl的类型
no:不支持,默认值
yes:如果存在,则使用操作系统的SSL库,否则使用与发行版绑定的SSL库
bundled:使用与发行版绑定的SSL库
system:使用操作系统的SSL库
-DWITH_ZLIB=zlib_type
指明对zlib的支持(有些特征要求在编译时提供对解压缩的库的支持)
bundled:使用与发行版绑定的zlib库
system:使用操作系统的zlib库
编译器选项
指定编译器选项,在运行cmake前设置CFLAGS,CXXFLAGS环境变量;如
shell> CFLAGS=-DDISABLE_GRANT_OPTIONS下面的选项控制着编译时的配置属性:
DISABLE_GRANT_OPTONS
如果指定该选项,则禁用mysqld的--bootstrap –skip-grant-tables –init-file 选项
HAVE_EMBEDDED_PRIVILEGE_CONTROL
默认情况下,是不允许通过身份验证连接到嵌入式服务器的。若要使用,请使用此选项