首页 > 代码库 > centos6.5 编译安装Mysql5.7.17

centos6.5 编译安装Mysql5.7.17

一、安装环境准备

centos 6.5

二、下载mysql source_code

 这里说一下,进入myql下载页面后选择source_code:
 然后选择 Generic Linux (Architecture Independent), Compressed TAR Archive 
 Includes Boost Headers 这个包下载。
 也可以用下面的地址:
 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz

三、做一些准备工作 

su - root
#关闭Linux防火墙命令
chkconfig iptables off
#修改SELINUX配置
vim /etc/sysconfig/selinux
#SELINUX=enforcing
#修改为:
#SELINUX=disabled
reboot
#安装cmake mysql5.7采用cmake方式进行配置
yum -y update
yum -y install wget gcc-c++ ncurses-devel cmake make perl
#创建用户、组 为mysql
groupadd mysql 
useradd -r -g mysql mysql
#新建数据库执行文件目录(后面会把编译好的mysql程序安装到这个目录):
mkdir -p /application/mysql5.7.17
ln -s  /application/mysql /application/mysql5.7.17
#新建数据库数据文件目录:
mkdir -p /home/mysql
mkdir -p /home/mysql/data
mkdir -p /home/mysql/logs
mkdir -p /home/mysql/temp
# 编辑PATH搜索路径
vi /etc/profile +
# 在profile文件末尾增加两行
# PATH=/application/mysql/bin:/application/mysql/lib:$PATH
# export PATH
# 使PATH搜索路径立即生效:
source /etc/profile
# 编辑hosts文件,增加一行,加入本机IP和主机名(需要根据实际情况修改IP和主机名)
vi /etc/hosts +
# 192.168.3.158    skytest
# ok进入下载工具目录,开始下载
cd /home/tools
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz

四、配置并安装

cmake -DCMAKE_INSTALL_PREFIX=/application/mysql -DMYSQL_UNIX_ADDR=/application/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 -DWITH_BOOST=boost/boost_1_59_0/  

#-DWITH_BOOST=boost/boost_1_59_0/ 这一行是指定boost库的位置,
#如果下载的不是mysql-boost-5.7.17.tar.gz 这个已经包含boost库的包,
#那么需要在配置项中指明下载 boost 库 当然这样比较慢,所以还是建议下载完整包
#直接cmake指定参数 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> 系统会下载 boost

#cmake结束后开始编译源码,这一步时间会较长,嗯,长的我都快睡了。
make

#看一下有没有错误
echo $?

#输出0,没有错误继续
make install

#清除安装临时文件
make clean

#修改目录拥有者
chown -Rf mysql:mysql /application/mysql5.7.17
chown -Rf mysql:mysql /home/mysql

#创建自带的库和表
#mysql5.7之前版本初始化配置表命令:
#script/mysql_install_db #--user=mysql #--basedir=/application/mysql #--datadir=/home/mysql/data

#mysql5.7已经放弃使用了,而且也没有script目录,可以使用下面这个

cd /application/myql

./bin/mysqld
 --initialize 
 --user=mysql 
 --basedir=/application/mysql 
 --datadir=/home/mysql/data

#初始化数据后注意文字提示,里面有root用户的初始密码

#在/etc目录下如果存在一个my.cnf文件,建议将此文件更名为其他的名字,
#否则该文件 会干扰源码安装的MySQL的正确配置,造成无法启动。
#修改/etc/my.cnf操作如下:

mv /etc/my.cnf /etc/my.cnf.bak

#在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,
#找不到则会搜索mysql程序目录下是否有my.cnf

cp /application/mysql/support-files/my-default.cnf  /etc/my.cnf

#mysql5.7配置文件需要修改my.cnf关键配置, 
#mysql5.7之前默认配置文件中是有配置项的,不用手动修改

vi /etc/my.cnf

#修改下面配置
[mysqld]
basedir =/application/mysql
datadir =/home/mysql/data
port = 3306
socket = /home/mysql/temp/mysql.sock

[client]
socket=/tmp/mysql.sock

#client这个字段千万别忘了,如果没有就自己加。不然会不能登录,出现以下错误
#ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/application/mysql5.7/mysql.sock‘ (2)


#使用service mysql命令启动/停止服务

cp /application/mysql/support-files/mysql.server /etc/init.d/mysql


五、加入开机启动

chkconfig mysql on


centos6.5 编译安装Mysql5.7.17