Mysql有通用二进制包安装,源码包编译安装或者利用YUM等包管理工具进行安装等方法。在这里,我们将使用源码包编译安装。
一。安装环境
Centos6.5 内核 2.6.32-431.el6.i686
mysql-5.6.20
二。安装前准备
编译安装前需要准备好编译环境,使用源码安装需要CMAKE(http://www.cmake.org)
,make,c++编译器。
yum install -y cmake make gcc
然后是获取mysql的源码包
http://dev.mysql.com/downloads/mysql/
我们选择GA(通用)版本的MYSQL源码包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz
三。安装及其配置
#创建mysql用户和用户组以及安装过程中所使用的文件路径
groupadd mysql
useradd -g mysql mysql
mkdir -p /usr/local/mysql
mkdir -p /home/mysql/{data,logs,temp}
#修改环境变量
vim /etc/profile
#在最后加入下列两行:
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
export PATH
#使配置文件立即生效
source /etc/profile
#解压安装包
tar -xzf mysql-5.6.20.tar.gz
#进入mysql目录
cd mysql-5.6.20
#使用CMAKE安装MYSQL
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1
#编译选项详细信息
根据编译结果查看是否有错误,我在编译的过程中发现少了ncurses-devel,用yum安装即可,然后rm CMakeCache.txt后继续编译,直到没有错误为止。
编译结束后 用命令
echo $?
查看结果应该为0
#编译安装
make && make install
编译过程有点长。
如果需要重装mysql,在/usr/local/src/mysql-5.6.20在执行下make install就可以了
#清除安装临时文件
make clean
#设置权限
chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /home/mysql
#初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/home/mysql/data --basedir=/usr/local/mysql --collation-server=utf8_general_ci
其中collation-server选项是用来设置数据库默认排序方式的。
初始化脚本在/usr/local/mysql/下生成了配置文件my.cnf,需要更改该配置文件的所有者:
chown mysql:mysql /usr/local/mysql/my.cnf
需要注意的是如果原先系统就要该文件,需要将其改名或删除,否则会干扰MySQL的使用。
#修改配置文件
mv /usr/local/mysql/my.cnf /usr/local/mysql/my.cnf.bak vim /etc/my.cnf
我们将原先的/usr/local/mysql/my.cnf下的配置文件名进行修改或者删除,然后再/etc目录下创建新的配置文件更有利于管理
[mysqld]
datadir=/home/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error= /home/mysql/logs/mysql_error.log
[mysqld_safe]
log-error=/home/mysql/logs/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket =/usr/local/mysql/mysql.sock
port =3306
我在进行此步骤中出现了一些错误,调试花了很多时间。最后发现socket文件路径设置需要格外注意,否则会出现mysql无法启动等问题。
如果启动Mysql过程中出错,可自行到/home/mysql/logs/mysql_error.log中进行查看,当然你也可以自行设置错误日志的存放位置。
#复制服务启动脚本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#mysql安全设置(设置密码,清除匿名用户等)
/usr/local/mysql/bin/mysql_secure_installation
#启动MySQL服务
service mysql start
#设置开机自动启动服务
chkconfig --add mysql chkconfig mysql on
至此,你就可以享受最新版的Mysql了!