linux 下编译安装 mysql 5.5.8
分类: Oracle 体系结构149人阅读评论(0)收藏举报

目录(?)[+]

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

tar –zxvf mysql 5.5.8.tar.gz

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=shareaclocal/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