一、安装环境准备
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 install –y autoconf automake imake libxml2-devel expat-devel cmake gcc gcc-c++ libaio libaio-devel bzr bison libtool ncurses5-devel ncurses-devle #创建用户、组 为mysql groupadd mysql useradd -r -g mysql mysql -s /sbin/nologin -M #新建数据库执行文件目录(后面会把编译好的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
转载于:https://blog.51cto.com/12141629/1885077