Linux系统之编译安装MySQL


帮客之家己经多次提到安装mysql,但那些基本上是通过rmp或通用二进制格式安装的。这次将介绍一下通过源代码安装mysql。

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Linux 5 下安装MySQL 5.6(RPM方式)

RHEL 6.4(i386)安装MySQL 5.6的方法 

RHEL6.4下MySQL安装方法及简单配置 

一、本机环境

系统 CentOS release 6.5 (Final)(最小化安装)
开发工具 Development tools Server Platform Development (己安装)
mysql版本 MySQL-5.6.16-1.el6.src.rpm 下载地址
编译工具 cmake-2.6(需要使用yum install cmake安装)

二、安装过程图解

1、下载包含源码的rpm包

1 # wget http://cdn.mysql.com/archives/mysql-5.6/MySQL-5.6.16-1.el6.src.rpm

wKioL1M_Fm2AmVgnAABG1J_dEgw893.jpg

2、使用rpm命令安装

注:

xxxxxxxxx.rpm <==RPM 的格式,已经经过编译且包装完成的 rpm 包,这个可以直接使用rpm -ivh或yum install来安……xxxxx.src.rpm <==SRPM的格式,包含未编译的源代码经rpm打包的,这个则要通过rpm -ivh 解包。再编译源代码的方式安装。

1 #rpm -ivh MySQL-5.6.16-1.el6.src.rpm

wKioL1M_GCSgXp-UAACSN3tnnUU794.jpg

解包后的会在当前用户的家目录中生成一个rpmbuild目录。(rpmbuild:顾名思义创建rpm包,它是用来指示转换的源码编译成二进制文件的包)

wKiom1M_GR_ClG3dAABhKc2Olck012.jpg

进入rpmbuild目录

1 2 #cd /root/rpmbuild #ls

wKiom1M_GjzT3aDaAABd-54RxL0915.jpg

rpmbuild下会有SOURCES和SPECS两个目录。

--SOURCES #源包所放置的路径

--SPECS #spec文档放置的路径

wKiom1M_G7Sjvab_AAJOBKWFYmc207.jpg

而我们要用的就是在SOURCES下的mysql-5.6.16.tar.gz

3、使用tar命令对其解压(也可以将其拷贝到自定义目录下解压)

1 2 3 #mv /root/rpmbuild/SOURCES/mysql-5.6.16.tar.gz /download/ #tar xf /download/mysql-5.6.16.tar.gz #cd /download/mysql-5.6.16

wKioL1M_HTzBOf31AAHQjt4IjyA404.jpg

解压mysql-5.6.16.tar.gz

wKiom1M_HcOz1IaCAAHQLrzGmdQ748.jpg

4、安装cmake

1 #yum install cmake -y

注:

自从mysql 5.5.8之后,MySQL的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质的区别,但是要直观很多。

cmake指定编译选项的方式不同于configure,其实现方式对比如下:

./configure cmake .

./configure --help cmake . -LH or ccmake .

 

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql #指定安装目录

-DMYSQL_DATADIR=/data/mysql #数据文件存放位置

-DSYSCONFDIR=/etc #配置文件存放目录

默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1 #启用innodb存储引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

 

若要明确指定不编译某存储引擎,可以使用类似如下的选项:

-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1

比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

 

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1 #快捷键功能

-DWITH_SSL=system #启用安全加密功能

-DWITH_ZLIB=system

-DWITH_LIBWRAP=0

 

其它常用的选项:

-DMYSQL_TCP_PORT=3306 #设置监听端口

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock #指定sock文件所在的位置

-DENABLED_LOCAL_INFILE=1 #允许从本地导入数据

-DEXTRA_CHARSETS=all #安装扩展字符集

-DDEFAULT_CHARSET=utf8 #使用utf8字符

-DDEFAULT_COLLATION=utf8_general_ci #校验字符

-DWITH_DEBUG=0

-DENABLE_PROFILING=1

关于更多的参数说明请查阅 mysql cmake

更多详情见请继续阅读下一页的精彩内容

  • 1
  • 2
  • 3
  • 下一页

相关内容