千家信息网

Mysql中CMAKE编译参数有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍Mysql中CMAKE编译参数有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux平台下MySQL的安装方式主要有3种:1、通过RPM包进行安装;2、
千家信息网最后更新 2026年11月02日Mysql中CMAKE编译参数有哪些

这篇文章主要介绍Mysql中CMAKE编译参数有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Linux平台下MySQL的安装方式主要有3种:

1、通过RPM包进行安装;

2、直接使用编译好的二进制文件进行安装;

3、下载源代码,采用自定义选项的方式安装。

使用源码安装的时候CMAKE有众多参数,下面对部分参数做一些解释说明。

常用的参数:

● -DCMAKE_INSTALL_PREFIX:用于指定软件的安装路径,默认是安装到/usr/local/mysql目录,编译安装完之后感觉路径不合适也没关系,只要MySQL进程没有启动,随时都可以修改这个目录的名称和存储路径。

● -DDEFAULT_CHARSET:指定MySQL服务的默认字符集,本参数的默认值为latin1.MySQL能够支持的字符集非常多,详细可以参考MySQL源码目录下,cmake/character_sets.cmake文件中SET (CHARSETS_AVAILABLE)变量的值,这一选项在MySQL服务启动时也可以通过character_set_server参数进行设置。

● -DDEFAULT_COLLATION:指定MySQL服务的默认校对规则,本参数的默认值为latin1 swedish_ ci,这一选项在MySQL服务启动时也可以通过collation_ server参数进行设置。

● -DENABLED_LOCAL_INFILE:足否允许从客户端本地加载数据到MySQL服务端,专用于LOAD DATA INFILE语句,默认是不允许的。

● -DENABLED_PROFILING:是否启动query profiling,专用于SHOW PROFILE和SHOW PROFILES语句,默认是启用的。

● -DMYSQL_DATADIR:指定MySQL数据库数据文件的存储路径,这一选项在MySQL服务启动时可以通过datadir参数进行设置。

● -DSYSCONFDIR:指定MySQL参数文件的默认路径,这一选项可以在MySQL服务启动时通过defaults-file参数进行设置。

● -DWITH__STORAGE_ENGINE:静态编译某存储引擎,可选的存储引擎关键字有ARCHIVE、BLACKHOLE、EXAMPLE、FEDERATED、INNOBASE、PARTITION、PERFSCHEMA,其实MySQL支持的存储引擎不止这些,但像MyISAM、MERGE、MEMORY及CSV四种存储引擎默认就会被编译至服务端,无需指定。另外,上面列举的若干关键字也并非都是存储引擎,比如PARTITION就是指是否允许文持分区,PERFSCHEMA则是Performance_schema库。

如:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

● -DWITHOUT__STORAGE_ENGINE:与前面参数的功能正好相反,本参数用于指定不编译的存储引擎。例如,当不需要编译example存储引擎时,则可以指定-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1.

如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

● -DWITH_EXTRA_CHARSETS:指定附加支持的字符集,默认是all,即全部。

可能用到的参数如下:

● -DINSTALL_BINDIR:指定MySQL各项命令的存储路径,默认在CMAKE_INSTALL_PREFIX/bin目录下。

● -DINSTALL_DOCDIR:指定MySQL文档的存储路径,默认在CMAKE_INSTALL_PREFIX/docs目录下。

● -DINSTALL_INCLUDEDIR:指定头文件的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/include目录下。

● -DINSTALL_LIBDIR:指定链接文件的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/lib目录下。

● -DINSTALL_MANDIR:指定用户手册的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/man目录下。

● -DINSTALL_PLUGINDIR:指定Plugin的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/lib/plugin目录下。

● -DINSTALL_SBINDIR:指定服务端执行脚本的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/bin目录下。

● -DINSTALL_SCRIPTDIR:指定MySQL自带的mysql_install_db脚本的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/scripts目录下。

● -DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安装目录(prefix/share)

● -DINSTALL_INFODIR=share/info 指向info文档存放目录(prefix/share/info)

● -DINSTALL_SQLBENCHDIR:指定sql-bench的存储路径,默议是保存于CMAKE_INSTALL_PREFIX目录下。

● -DINSTALL_SUPPORTFILESDIR:指定MySQL自带的附加支持类文件的存储路径,默认是保存于CMAKE_INSTALL_PREFIX/support-files目录下。

● -DMYSQL_TCP_PORT:指定MySQL数据库提供服务的TCP/IP端口,默认为3306,这一选项可以在MySQL服务启动时通过port参数进行设置。

● -DMYSQL_UNIX_ADDR:指定套接字文件的存储路径,默认是在/tmp/mysql.sock目录下,这一选项可以在MySQL服务启动时通过socket参数进行设置。

● -DWITH_COMMENT:指定编译信息,这个参数在5.1及之前版本有效,对于5.5及以后版本无效,如果需要指定编译信息,可以使用-DCOMPILATION_COMMENT参数来替代。

● -DWITH_READLINE:指定输入输出的处理方式,在5.1及之前版本无需单独处理,默认就是使用readline方式,不过进入5.5版本后,MySQL编译时默认使用libedit处理输入和输出,可能导致当前环境登录mysql命令行模式后,无法输入中文(仅针对当前编译环境,其他客户端不受影响),因此编译时需要指定其以readline方式处理。

提示:

关于-DWITH READLINE参数,在5.6.10版本中,即使指定-DWITH_READLINE,默认仍然使用libedit处理输入输出,这种情况下即使安装成功,全程未报错,但输入中文时可能会遇到出现"Segmentation fault"错误提示,导致本地连接的mysql命令行出错中止,官方将之定义为BUG,详细情况可以参考http://bugs.mysql.com/bug.php?id=68231。

● -DWITH_SSL=system 启用ssl库支持(安全套接层)

● -DWITH_ZLIB=system 启用libz库支持(zib、gzib相关)

● -DWTIH_LIBWRAP=0 禁用libwrap库(实现了通用TCP包装的功能,为网络服务守护进程使用)

● -DWITH_EMBEDDED_SERVER=1 编译嵌入式服务器支持

● -DMYSQL_USER=mysql 指定mysql用户(默认为mysql)

● -DWITH_DEBUG=0 禁用debug(默认为禁用)

● -DENABLE_PROFILING=0 禁用Profiling分析(默认为开启)

● -DWITH_COMMENT='string' 一个关于编译环境的描述性注释

以上是"Mysql中CMAKE编译参数有哪些"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

参数 存储 目录 路径 编译 服务 文件 引擎 支持 方式 版本 处理 输入 数据 可以通过 命令 字符 字符集 环境 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 互联网科技公司简介 广州万易互联网科技有限公司 湖南永感互联网科技有限公司 科技创新与互联网经济 互联网科技深圳 互联网品科技 互联网科技资迅 北京禾田雨橡互联网科技 互联网巨头投资的硬核科技 上海电发互联网科技有限公司 贵州叶脉互联网科技有限公司所属行业 彤创互联网科技有限公司 武汉健翔互联网络科技有限公司 青岛科技大学互联网大赛研究生 东莞新华互联网科技学校 佛山市翊博互联网络科技有限公司 深圳无忧互联网科技 启辰互联网科技 现代科技的标志之一的互联网 上海睿民互联网科技有限公司 科技互联网产品 科技金融是不是互联网金融 互联网金融公司科技 百单互联网科技有限公司 银优互联网科技有限公司 甘肃拓世互联网科技有限公司 互联网媒体平台算高科技产业 互联网科技机房 互联网科技新闻
0