共计 3441 个字符,预计需要花费 9 分钟才能阅读完成。
这篇文章主要介绍 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_ ENGINE _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_ ENGINE _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 编译参数有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!