张冬生的网络日志

记录,转载,分享
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux 下编译安装 mysql 5.5.8

Posted on 2011-07-04 18:15  张冬生  阅读(2406)  评论(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=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