在本文中,我们将深入探讨如何在CentOS 6.4上源码安装MySQL 5.6.28。源码安装允许我们自定义编译选项,以满足特定系统的需求。以下是一个详细的步骤指南:
确保系统具备编译MySQL所需的基础环境。运行以下命令来安装必要的开发工具和依赖库:
```bash
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
```
接下来,创建用于运行MySQL的用户和组:
```bash
groupadd mysql
useradd -g mysql mysql
```
现在,解压MySQL 5.6.28的源代码包:
```bash
tar -zxvf mysql-5.6.28.tar.gz
```
然后,进入源代码目录并进行编译。你可以选择使用默认的编译参数,或者根据需求自定义设置。这里是一个基本的编译和安装过程:
```bash
cd mysql-5.6.28
cmake . -LH
make && make install
```
如果你想定制编译选项,可以使用以下更详细的参数:
```bash
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DFORCE_INSISTENT_VIO=1 \
-DMYSQL_SERVER_SUFFIX=-server \
-DCOMPILATION_COMMENT="Source Distribution" \
-DEXTRA_PROGRAMS=" perror" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
```
完成编译后,更改MySQL安装目录的所有者:
```bash
chown -R mysql:mysql /usr/local/mysql
```
初始化数据库:
```bash
cd /usr/local/mysql/scripts
./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
```
接着,复制MySQL的配置文件到`/etc/my.cnf`:
```bash
cd /usr/local/mysql/support-files
cp my-default.cnf /etc/my.cnf
```
编辑`/etc/my.cnf`,添加如下内容以匹配你的配置:
```bash
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/mysql.pid
user = mysql
socket = /tmp/mysql.sock
```
启动MySQL服务并将其添加到系统启动项:
```bash
chmod 755 /usr/local/mysql/bin/mysqld_safe
/usr/local/mysql/bin/mysqld_safe --user=mysql &
chkconfig --add mysqld
```
现在,MySQL 5.6.28已经成功在CentOS 6.4上源码安装。你可以通过`mysql -u root`来登录MySQL服务器,并根据需要进行进一步的数据库管理。
这个教程覆盖了从环境准备到MySQL安装的全过程,包括用户创建、编译选项设定、数据库初始化以及配置文件的调整。通过源码安装,我们可以对MySQL进行深度定制,使其更好地适应系统的特定需求。不过,请注意,如果你不是特别需要这些定制功能,通常建议使用官方提供的二进制包,因为它们已经包含了大多数常见的配置和依赖,安装过程更为简便。