1.准备:
下载并拷贝以下两个文件到/opt 下,直接 wget 或用其他下载工具下载
mysql 5.5.13 :http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.13.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/
cmake : http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
2.安装cmake
从mysql5.0开始使用CMake编译安装源码包,这不同于以往的configure、make && make install(In MySQL 5.5, CMake is used as the build framework on all platforms)
以下为安装过程,安装过程中可以会提示没有C、C++编译器,可参照“过去如风”的博客http://hi.baidu.com/bc_souhait/blog/item/f1df1560a92eae4feaf8f840.html
tar –zxvf ...
cd cmake-2.8.4
./bootstrap
make
make install
3. 安装 mysql 5.5.13
CMake 和 configure参数对照:http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide
groupadd mysql
useradd –r –g mysql mysql
mkdir /opt/data/mysql (数据文件夹)
chown –R mysql.mysql /opt/data/mysql
cd mysql 5.5.8
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql –DINSTALL_SBINDIR=sbin –DMYSQL_DATADIR=/opt/data/mysql -DSYSCONFDIR=/etc/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1(附录1)(附录2)(附录3)
make
make install
4. 更改文件夹权限和初始化数据库
cd /usr/local/mysql
chown –R mysql .
chgrp –R mysql .
./scripts/mysql_install_db --user=mysql 此处指定用user用户运行
chown –R root .
chown –R mysql data
复制配置文件,启动
cp support-files/my-medium.cnf /etc/my.cnf
./bin/mysqld_safe --user=mysql & 后台运行
开机启动
cp support-files/mysql.server /etc/init.d/mysql.server
附录:
1.mysql 编译时参数
斜体是较常用的(以下内容摘自mysql官方网站)http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide
参数 | configure 选项 | CMake 选项 | CMake 说明 |
主安装目录 | --prefix=/usr | -DCMAKE_INSTALL_PREFIX=/usr | |
mysqld 目录 | --libexecdir=/usr/sbin | -DINSTALL_SBINDIR=sbin | 该目录相对--prefix,相当于/usr/sbin,不要加前缀(以下标“同上”的一样) |
数据目录 | --localstatedir=/var/lib/mysql | -DMYSQL_DATADIR=/var/lib/mysql | |
配置文件my.cnf 目录 | --sysconfdir=/etc/mysql | -DSYSCONFDIR=/etc/mysql | |
插件目录 | --with-plugindir=/usr/lib64/mysql/plugin | -DINSTALL_PLUGINDIR=lib64/mysql/plugin | 同上 |
Man page 目录 | --mandir=/usr/share/man | -DINSTALL_MANDIR=share/mysql | 同上 |
共享数据目录 | --sharedstatedir=/usr/share/mysql | -DINSTALL_SHAREDIR=share | aclocal/mysql.m4 安装目录 |
库安装目录 | --libdir=/usr/lib64/mysql | -DINSTALL_LIBDIR=lib64/mysql | 同上 |
Header 安装目录 | --includedir=/usr/include/mysql | -DINSTALL_INCLUDEDIR=include/mysql | 同上 |
信息文档目录 | --infodir=/usr/share/info | -DINSTALL_INFODIR=share/info | 同上 |
存储引擎也是做为插件安装的,configure 方式接受 --with-plugins 参数指定参数方式以逗号分隔或组名形式安装插件,但在 CMake 中各存储引擎是以参数形式单独配置的,以下几个较常用:
- -DWITH_INNOBASE_STORAGE_ENGINE=1 INNODB 引擎
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 ARCHIVE 引擎
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 BLACKHOLE 引擎
更多详细内容请参照官方网站
2. mysql 编译时出现错误及解决方案
错误1:Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH)
1. centos 下执行:yum -y install ncurses-devel
ubuntu 下执行:apt-get install libncurses5 libncurses5-dev
2. 删除 CMakeCache.txt,重新运行cmake