centos6.5 编译安装Mysql5.7.17

前端之家收集整理的这篇文章主要介绍了centos6.5 编译安装Mysql5.7.17前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、安装环境准备

centos6.5

二、下载MysqL source_code

这里说一下,进入myql下载页面后选择source_code:
然后选择GenericLinux(ArchitectureIndependent),CompressedTARArchive
IncludesBoostHeaders这个包下载。
也可以用下面的地址:
wgethttp://dev.MysqL.com/get/Downloads/MysqL-5.7/MysqL-boost-5.7.17.tar.gz

三、做一些准备工作

su-root
#关闭Linux防火墙命令
chkconfigiptablesoff
#修改SELINUX配置
vim/etc/sysconfig/selinux
#SELINUX=enforcing
#修改为:
#SELINUX=disabled
reboot
#安装cmakeMysqL5.7采用cmake方式进行配置
yum-yupdate
yum-yinstallwgetgcc-c++ncurses-develcmakemakeperl
#创建用户、组为MysqL
groupaddMysqL
useradd-r-gMysqLMysqL
#新建数据库执行文件目录(后面会把编译好的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
#exportPATH
#使PATH搜索路径立即生效:
source/etc/profile
#编辑hosts文件增加一行,加入本机IP和主机名(需要根据实际情况修改IP和主机名)
vi/etc/hosts+
#192.168.3.158skytest
#ok进入下载工具目录,开始下载
cd/home/tools
wgethttp://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,没有错误继续
makeinstall

#清除安装临时文件
makeclean

#修改目录拥有者
chown-RfMysqL:MysqL/application/MysqL5.7.17
chown-RfMysqL: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这个字段千万别忘了,如果没有就自己加。不然会不能登录,出现以下错误
#ERROR2002(HY000):Can'tconnecttolocalMysqLserverthroughsocket'/application/MysqL5.7/MysqL.sock'(2)


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

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


五、加入开机启动

chkconfigMysqLon

猜你在找的CentOS相关文章