MySQL5.5编译工具configure向cmake过渡指南(转载)

MySQL5.5编译工具configure向cmake过渡指南

从mysql5.5起,mysql源码安装开始使用cmake了。下面是介绍configure选项如何映射到CMake的等值参数。

1. 命令语法:

重新编译时,需要清除旧的对象文件和缓存信息
  # make clean
  # rm -f  CMakeCache.txt

2.安装选项


 

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

 (1可以使用on代替)
 
 如果既不是-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库选项


 

5.其他选项
 之前MySQL的编译选项大多数都支持。新旧版本之间的安装选项映射成大写字母,删除选项前面破折号,中间字符间的破折号替换成下划线。如:
  --with-debug => WITH_DEBUG=1

  --with-embedded-server => WITH_EMBEDDED_SERVER

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


 

BUILD_CONFIG   采用官方发行版一致的编译参数
CMAKE_BUILD_TYPE 指定产品编译说明信息   RelWithDebInf
CMAKE_INSTALL_PREFIX 指定MySQL安装路径  /usr/local/mysql
CPACK_MONOLITHIC_INSTALL是否建立单个安装包文件 OFF   5.5.7
DEFAULT_CHARSET  MYSQL 默认字符集  latin1   5.5.7
DEFAULT_COLLATION MYSQL 默认排序字符集  latin1_swedish_ci 5.5.7
ENABLE_DEBUG_SYNC 是否启用同步调试功能  ON   5.5.7
ENABLE_DOWNLOADS 是否下载可选文件  OFF   5.5.7
ENABLE_DTRACE  是否包含 DTrace 支持     5.5.7
ENABLE_GCOV  是否包含 Gcov 支持     5.5.14
ENABLED_LOCAL_INFILE 是否启用本地 LOAD DATA INFILE OFF   5.5.7
ENABLED_PROFILING 是否启用代码查询分析  ON   5.5.7
INSTALL_BINDIR  MySQL 主执行文件目录  PREFIX/bin  5.5.7
INSTALL_DOCDIR  文档安装路径   PREFIX/docs  5.5.7
INSTALL_DOCREADMEDIR 自述文件目录   PREFIX   5.5.7
INSTALL_INCLUDEDIR 头文件目录   PREFIX/include  5.5.7
INSTALL_INFODIR  关于信息文件目录  PREFIX/docs  5.5.7
INSTALL_LAYOUT  选择预定义的安装  STANDALONE  5.5.7
INSTALL_LIBDIR  库文件目录   PREFIX/lib  5.5.7
INSTALL_MANDIR  手册页面目录   PREFIX/man  5.5.7
INSTALL_MYSQLSHAREDIR 共享数据目录   PREFIX/share  5.5.7
INSTALL_MYSQLTESTDIR mysql-test 目录   PREFIX/mysql-test 5.5.7
INSTALL_PLUGINDIR 插件目录   PREFIX/lib/plugin 5.5.7
INSTALL_SBINDIR  服务器超级用户执行文件目录 PREFIX/bin  5.5.7
INSTALL_SCRIPTDIR 脚本目录   PREFIX/scripts  5.5.7
INSTALL_SHAREDIR aclocal/mysql.m4 安装目录 PREFIX/share  5.5.7
INSTALL_SQLBENCHDIR sql-bench 性能测试工具目录 PREFIX   5.5.7
INSTALL_SUPPORTFILESDIR 扩展支持文件目录  PREFIX/support-files 5.5.7
MYSQL_DATADIR  数据库存放目录      5.5.7
MYSQL_MAINTAINER_MODE 是否启用MySQL的维护环境  OFF   5.5.7
MYSQL_TCP_PORT  TCP/IP 端口号   3306   5.5.7
MYSQL_UNIX_ADDR  Unix Socket 套接字文件  /tmp/mysql.sock  5.5.7
SYSCONFDIR  选项配置文件目录     5.5.7
WITH_COMMENT  编译环境发表评论     5.5.7
WITH_DEBUG  是否包括调试支持  OFF   5.5.7
WITH_EMBEDDED_SERVER 是否要建立嵌入式服务器  OFF   5.5.7
WITH_xxx_STORAGE_ENGINE 静态编译xxx 存储引擎到服务器    5.5.7
WITH_EXTRA_CHARSETS 额外的字符集,包括  all   5.5.7
WITH_LIBWRAP  是否包括支持libwrap(TCP包装) OFF   5.5.7
WITH_READLINE  使用捆绑的readline  OFF   5.5.7
WITH_SSL  是否支持SSL  no   5.5.7
WITH_ZLIB  是否支持Zlib  system   5.5.7
WITHOUT_xxx_

# cd mysql-5.5-source
// 进入mysql 源码包目录
# CFLAGS=”-O3″ CXX=gcc
# CXXFLAGS=”-O3 -felide-constructors -fno-exceptions -fno-rtti”
//配置GCC编译器优化参数,可选

# cmake . -LH|more
//查看Mysql 编译参数配置说明

# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DMYSQL_USER=mysql -DSYSCONFDIR=/etc/mysql
// 根据配置参数设置MySQL 安装路径,数据目录,SOCKET及配置文件路径

# make -j 8 && make install
//开始编译并安装,-j 参数可选用来指定CPU核心数,可加快编译速度,服务器双路4核这里用了8

# cd /usr/local/mysql
# useradd -M -d /var/lib/mysql -s /sbin/nologin mysql
# scripts/mysql_install_db –user=mysql –datadir=/var/lib/mysql




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值