使用Red Hat Enterprise 6.1版本编译MySQL V5.6.12的步骤如下。
第一步:准备软件和环境
1)检查操作系统的信息(gcc版本为4.4.4,足以编译MySQL V5.6.12),命令如下:
[root@localhost /]# more /proc/version
more /proc/version
Linux version 2.6.32-131.0.15.el6.i686 (mockbuild@x86-001.build.bos.redhat.com)
(gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Tue May 10 15:42:28 EDT 2011
2)检查MySQL依赖的软件包(如果没有make请自行下载):
验证make的版本信息,命令如下:
[root@localhost /]# make --version
make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i386-redhat-linux-gnu
验证gcc的版本信息,命令如下:
[root@localhost cmake-2.8.11.1]# gcc --version
gcc --version
bash: gcc: command not found
printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
[root@localhost cmake-2.8.11.1]# gcc --version
gcc --version
bash: gcc: command not found
3)下载MySQL等各类软件包。
下载MySQL(mysql-5.6.12.tar.gz)的地址:
http://dev.mysql.com/downloads/mysql/#downloads
下载bison(bison-2.7.tar.gz)的地址:
http://www.gnu.org/software/bison/
下载cmake(cmake-2.8.11.1.tar.gz)地址:
http://www.cmake.org/cmake/resources/software.html
下载ncurses(ncurses-5.9.tar.gz)的地址:
http://ftp.gnu.org/pub/gnu/ncurses/
下载make的地址:
http://www.gnu.org/software/make/
下载gcc、gcc-c++的地址:
http://www.gnu.org/software/gcc
第二步:编译前的其他准备——创建用户、目录、依赖软件安装等
1)创建MySQL安装目录和数据存放目录,命令如下:
mkdir -p /usr/local/db/mysql/
mkdir -p /db/data/mysql/
2)使用Linux命令新建用户和用户组,并赋予权限,命令如下:
groupadd mysql
useradd -g mysql mysql
chown mysql.mysql -R /db/data/mysql/
3)安装软件包(注意如下安装顺序),过程如下:
步骤1 安装gcc/gcc-c++ (最好是安装gcc、gcc-c++的rpm包,不建议编译gcc)
-
解压tar gcc-4.8.1.tar.gz;
-
进入cd gcc-4.8.1目录;
-
执行./configure命令;
-
执行make命令
-
执行make install安装命令;
-
同理安装gcc-c++。
步骤2 安装bison
-
解压tar bison-2.7.tar.gz;
-
进入cd bison-2.7目录;
-
执行./configure命令;
-
执行make命令;
-
执行make install安装命令。
步骤3 安装cmake
-
解压tar zxvf cmake-2.8.11.1.tar.gz;
-
进入cd cmake-2.8.11.1目录;
-
执行./configure命令;
-
执行make命令。
步骤4 安装ncurses
-
解压tar ncurses-5.9.tar.gz;
-
进入cd ncurses-5.9目录;
-
执行./configure命令;
-
执行make命令;
-
执行make install安装命令。
第三步:编译、使用MySQL等
1) 编译MySQL,具体如下:
解压,命令如下:
tar mysql-5.6.12.tar.gz
进入目录,命令如下:
cd mysql-5.6.12
为编译设置必要的参数,执行如下命令:
cmake .
\-DCMAKE_INSTALL_PREFIX=/usr/local/db/mysql/
\-DMYSQL_DATADIR=/db/data/mysql
\-DMYSQL_UNIX_ADDR=/db/data/mysql/mysqld.sock
\-DWITH_INNOBASE_STORAGE_ENGINE=1
\-DENABLED_LOCAL_INFILE=1 \-DMYSQL_TCP_PORT=3306
\-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8
\-DDEFAULT_COLLATION=utf8-general_ci
\-DMYSQL_UNIX_ADDR=/db/data/mysql/mysql.sock
\-DMYSQL_USER=mysql \-DWITH_DEBUG=0
编译源码,执行命令:
make
执行安装,命令如下:
make install
2)配置MySQL,命令如下:
[root@localhost mysql-5.6.12]# cp support-files/my-default.cnf /etc/my.cnf
[root@localhost mysql-5.6.12]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.12]# chmod 755 /etc/init.d/mysqld
3) 初始化数据库,命令如下:
[root@localhost mysql]scripts/mysql_install_db --user=mysql --basedir= /usr/local/db/mysql --datadir=/db/data/mysql/
4)启动MySQL服务,并检查MySQL服务是否启动;如果是启动MySQL的服务,则用MySQL命令行连接服务器,初始密码为空:
[root@localhost mysql]#/etc/init.d/mysqld start
检查MySQL服务是否启动(启动成功,则可以通过如下命令发现mysqlld进程存在):
[root@localhost mysql-5.6.12]#ps -ef |grep mysql
5)启动客户端mysql命令行工具,修改root密码,命令如下:
[root@localhost mysql-5.6.12]#/usr/local/db/mysql/bin/mysql -u root -p
mysql> use mysql;
mysql> update user set password=PASSWORD("mysqldba") where user='root';
mysql> FLUSH PRIVILEGES;
本文节选自《数据库查询优化器的艺术--原理解析与SQL性能优化》2014年1-2月出版