mysql dbuild_config_MYSQL5.5源码编译配置选项

上周,因工作需要配了一周的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

shell>CXXFLAGS=-DDISABLE_GRANT_OPTIONS

shell>export CFLAGS CXXFLAGS

shell>cmake [options]

下面的选项控制着编译时的配置属性:

DISABLE_GRANT_OPTONS

如果指定该选项,则禁用mysqld的--bootstrap

–skip-grant-tables –init-file 选项

HAVE_EMBEDDED_PRIVILEGE_CONTROL

默认情况下,是不允许通过身份验证连接到嵌入式服务器的。若要使用,请使用此选项

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值