1、命令语法
configure Command |
CMake Command |
./configure |
cmake . |
./configure --help |
cmake . -LH or ccmake . |
重新编译时,需要清除旧的对象文件和缓存信息
shell> make clean
shell> rm -f CMakeCache.txt
2、安装选项
Parameter |
configure Option |
CMake Option |
CMake Notes |
Installation base directory |
--prefix=/usr |
-DCMAKE_INSTALL_PREFIX=/usr |
|
mysqld directory |
--libexecdir=/usr/sbin |
-DINSTALL_SBINDIR=sbin |
interpreted relative to prefix |
Data directory |
--localstatedir=/var/lib/mysql |
-DMYSQL_DATADIR=/var/lib/mysql |
|
Config directory (for my.cnf) |
--sysconfdir=/etc/mysql |
-DSYSCONFDIR=/etc/mysql |
|
Plugin directory |
--with-plugindir=/usr/lib64/mysql/plugin |
-DINSTALL_PLUGINDIR=lib64/mysql/plugin |
interpreted relative to prefix |
Man page directory |
--mandir=/usr/share/man |
-DINSTALL_MANDIR=share/man |
interpreted relative to prefix |
Shared-data directory |
--sharedstatedir=/usr/share/mysql |
-DINSTALL_SHAREDIR=share |
this is where aclocal/mysql.m4 should be installed |
Library installation directory |
--libdir=/usr/lib64/mysql |
-DINSTALL_LIBDIR=lib64/mysql |
interpreted relative to prefix |
Header installation directory |
--includedir=/usr/include/mysql |
-DINSTALL_INCLUDEDIR=include/mysql |
interpreted relative to prefix |
Info doc directory |
--infodir=/usr/share/info |
-DINSTALL_INFODIR=share/info |
interpreted relative to prefix |
CMAKE_INSTALL_PREFIX值是安装的基本目录,其他cmake选项值若不包括前缀("/"),则是相对路径名。它的绝对路径包括CMAKE_INSTALL_PREFIX路径,如-DINSTALL_SBINDIR=sbin的绝对路径是/usr/local/mysql/sbin。
3、存储引擎选项
mysql存储引擎是插件式的,因此插件控制选项可以指定安装哪个存储引擎。
在使用configure时可以使用--with-plugins=csv,myisam,myisammrg,heap,innobase,archive,blackhole来控制。
在cmake中没有直接对应的相同选项。对于csv,myisam,myisammrg,heap在cmake中是不需要明确指定存储引擎的名称,因为它们是强制性安装。
可以使用以下选择来安装innodb,archive,blackhole存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
(在以后的版本中,可以使用on代替1)
在configure中使用--without-plugin-<engine>来指定不安装哪种存储引擎,对应cmake中的
-DWITHOUT_<ENGINE>_STORAGE_ENGINE
如果既不是-DWITH_<ENGINE>_STORAGE_ENGINE 也不是 -DWITHOUT_<ENGINE>_STORAGE_ENGINE 来指定存储引擎,该存储引擎将安装成共享模块式的。如果不是共享模块式的将排除在外。共享模块安装时必须使用INSTALL PLUGIN语句或--plugin-load才可以使用。
有关插件的CMake的选项的其他信息,请查阅:
http://forge.mysql.com/wiki/MySQL_Internals_Support_for_Plug-Ins
4.lib库选项
Parameter |
configure Option |
CMake Option |
CMake Notes |
readline library |
--with-readline |
-DWITH_READLINE=1 |
|
SSL library |
--with-ssl=/usr |
-DWITH_SSL=system |
|
zlib library |
--with-zlib-dir=/usr |
-DWITH_ZLIB=system |
|
libwrap library |
--without-libwrap |
-DWITH_LIBWRAP=0 |
|
5、其它选项
之前MySQL的编译选项大多数都支持。新旧版本之间的安装选项映射成大写字母,删除选项前面破折号,中间字符间的破折号替换成下划线。如:
--with-debug => WITH_DEBUG=1
--with-embedded-server => WITH_EMBEDDED_SERVER
Parameter |
configure Option |
CMake Option |
CMake Notes |
TCP/IP port number |
--with-tcp-port-=3306 |
-DMYSQL_TCP_PORT=3306 |
|
UNIX socket file |
--with-unix-socket-path=/tmp/mysqld.sock |
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock |
|
Enable LOCAL for LOAD DATA |
--enable-local-infile |
-DENABLED_LOCAL_INFILE=1 |
|
Extra charsets |
--with-extra-charsets=all |
-DEXTRA_CHARSETS=all |
default is "all" |
Default charset |
--with-charset=utf8 |
-DDEFAULT_CHARSET=utf8 |
|
Default collation |
--with-collation=utf8_general_ci |
-DDEFAULT_COLLATION=utf8_general_ci |
|
Build the server |
--with-server |
none |
|
Build the embedded server |
--with-embedded-server |
-DWITH_EMBEDDED_SERVER=1 |
|
libmysqld privilege control |
--with-embedded-privilege-control |
none |
always enabled? |
Install the documentation |
--without-docs |
none |
|
Big tables |
--with-big-tables, --without-big-tables |
none |
tables are big by default |
mysqld user |
--with-mysqld-user=mysql |
-DMYSQL_USER=mysql |
mysql is the default |
Debugging |
--without-debug |
-DWITH_DEBUG=0 |
default is debugging disabled |
GIS support |
--with-geometry |
none |
always enabled? |
Community features |
--enable-community-features |
none |
always enabled |
Profiling |
--disable-profiling |
-DENABLE_PROFILING=0 |
enabled by default |
pstack |
--without-pstack |
none |
pstack is removed |
Assembler string functions |
--enable-assembler |
none |
|
Build type |
--build=x86_64-pc-linux-gnu |
no equivalent |
unneeded? |
Cross-compile host |
--host=x86_64-pc-linux-gnu |
no equivalent |
unneeded? |
Client flag |
--with-client-ldflags=-lstdc++ |
none |
unneeded |
Client flag |
--enable-thread-safe-client |
none |
unneeded, clients are always thread safe |
Comment |
--with-comment='string' |
-DWITH_COMMENT='string' |
|
Shared/static binaries |
--enable-shared --enable-static |
none |
there is only DISABLE_SHARED |
Memory use |
--with-low-memory |
none |
unneeded |
6、调试配置过程
使用configure编译完将生成config.log和config.status文件。
使用cmake编译完在CMakeFiles目录下生成CMakeError.log 和CMakeOutput.log文件。
7、第三方接口工具
在之前的版本,第三方工具从MySQL顶层源目录中读取源configure.in文件来确定mysql版本。如:对5.5.7 - RC版本的AC_INIT线看起来像这样:
AC_INIT([MySQL Server], [5.5.7-rc], [], [mysql])
现在的版本可以直接读取版本文件。如:如果版本是5.5.8,文件看起来像这样的:
MYSQL_VERSION_MAJOR=5
MYSQL_VERSION_MINOR=5
MYSQL_VERSION_PATCH=8
MYSQL_VERSION_EXTRA=
如果源码包不是GA版,MYSQL_VERSION_EXTRA的值将非空。如:对于一个发布RC版本是这样的:
MYSQL_VERSION_EXTRA=rc
构建5位数字的版本号,使用下面公式:
MYSQL_VERSION_MAJOR*10000 + MYSQL_VERSION_MINOR*100 + MYSQL_VERSION_PATCH
Retrieved from "http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide"
分享到:
相关推荐
### MySQL5.5编译工具从configure向cmake过渡指南 #### 一、引言 随着MySQL5.5版本的发布,其源码编译工具从传统的`configure`脚本过渡到了更为现代化的`cmake`工具。这一转变旨在简化跨平台编译流程并提高编译...
在 MySQL 5.5.18 中包含了 CMake 目录,这意味着用户可以通过 CMake 来编译和配置 MySQL 源码,而非传统的 configure 脚本。CMake 提供了一种更加统一和灵活的方式来管理构建过程,适用于多种操作系统,包括 Windows...
随着MySQL的发展,为了更好地适应跨平台的需求并提高编译的灵活性与效率,从MySQL 5.5版本开始,其源码安装方式从传统的`configure`脚本转向了更为现代化且功能强大的构建工具——CMake。本文将详细介绍如何使用...
在Linux环境下,MySQL 5.5的安装过程与之前的版本有所不同,它采用了CMake作为构建系统,这使得编译和安装更加灵活。以下是一个详细的MySQL 5.5.11在Linux下的编译安装步骤: 首先,确保系统已经安装了必要的依赖库...
MySQL 5.5的编译需要CMake工具,所以先下载并编译安装CMake。通过`tar`解压缩,`configure`, `make`和`make install`完成安装。 4. **下载与配置MySQL源码**: 获取MySQL 5.5的源代码,解压后进入目录。使用CMake...
[root@localhost mysql5.5]# cd cmake-2.8.8 [root@localhost cmake-2.8.8]# ./configure [root@localhost cmake-2.8.8]# gmake [root@localhost cmake-2.8.8]# gmake install ``` 四、安装 MySQL 依赖包 在安装 ...
2. **下载所需软件包**:通过`wget`命令下载MySQL 5.5安装包以及其他必要的工具(如`cmake`和`bison`)。 ```bash wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.11.tar.gz wget ...
本文档详细介绍了在CentOS 5.5 x86_64系统上安装MySQL 5.5的过程,包括但不限于软件环境检查、编译工具安装、MySQL源码编译、数据库服务配置等环节。 #### 1.2 目标 - **用户及其目录**:创建mysql组和mysql用户,...
### Linux下Mysql5.5的Cmake安装以及sphinx结合 #### 一、Mysql5.5在Linux下的Cmake安装步骤 ##### 1. 用户与权限设置 首先需要为MySQL服务创建一个专用的用户账号,这有助于提高系统的安全性。 ```shell # 创建...
在`mysql`目录下,解压`cmake-2.8.11.tar.gz`,进入解压后的目录执行`./configure`,然后使用`make`和`make install`命令进行编译与安装CMake。这一步是由于MySQL的编译过程依赖于CMake构建工具,确保其正确安装是...
下面将详细介绍如何使用提供的"mysql5.5源码一键安装"包进行安装。 首先,你需要一个Linux环境,因为源码安装通常在类Unix系统中进行。这个一键安装包包括了MySQL源码以及一些必要的依赖库,如cmake用于构建系统,...
- MySQL 5.5.x版本开始使用cmake工具进行编译配置,因此需要先安装cmake。 - ```bash # mkdir /home/tools # cd /home/tools # wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz # tar xf cmake-...
"一键搭建lnmp(nginx 1.13.6+mysql5.5)环境搭建" 一键搭建lnmp环境 lnmp是一种流行的Web服务器解决方案,组成部分包括Linux操作系统、Nginx Web服务器、Mysql数据库和PHP编程语言。本文档将指导您一步步搭建lnmp...
然后,我们需要安装CMake依赖包,用于编译和安装MySQL。接着,我们使用CMake来配置MySQL的安装,指定安装目录、数据目录、socket文件路径等选项。最后,我们使用make和make install来编译和安装MySQL。 在安装完成...
MysqL在5.5之后开始使用Cmake取代configure编译,这次主要是在CentOS上进行的编译。
在Linux环境下,当你需要从源代码编译安装MySQL 5.5时,CMake是一个不可或缺的工具。MySQL 5.5是数据库管理系统的一个旧版本,它依赖于特定版本的CMake来配置和构建其源代码,这就是为什么在编译安装过程中会特别...
在CentOS 5.5操作系统环境下,MySQL的编译安装是一个涉及多个步骤的过程,需要一定的技术知识和操作技巧。以下是一份详细的指南,涵盖了从下载、编译到安装MySQL,以及如何修改root用户的密码。 首先,为了准备安装...
从MySQL 5.5开始,官方推荐使用CMake来配置编译环境,而不是之前的configure和make的旧方法。这一改变意味着编译和安装的过程需要遵循CMake的新标准和步骤,同时也意味着需要预先安装好CMake环境。 接下来详细介绍...