Centos6.5源码编译安装Mysql5.7.14

本文安装环境为Centos6.5 + Mysql5.7.14,安装方式采用源码编译的方式进行安装,主要考虑到修改mysql rpm安装文件夹太乱的问题,因为本人有较为严重的强迫症。

第一章 安装准备

1.1. 安装依赖包

yum -y install gcc-c++ ncurses-devel cmake make perl \ gcc autoconf automake zlib libxml libgcrypt libtool bison

1.2. 安装boost

检查boost是否安装
[root@orcl01 /]# rpm -qa | grep boost*
如果安装,删除
yum -y remove boost-*

Cmake编译mysql源码时,需要使用boost,每个mysql版本在编译的时候需要的boost版本不同,5.7.14需要1_59的版本。boost下载地址为:
http://liquidtelecom.dl.sourceforge.net/project/boost/boost/1.59.0/

#上传
[root@orcl01 tmp]# ll
total 131092
-rw-r--r--  1 root   root     83709983 Aug 28 13:03 boost_1_59_0.tar.gz
#解压
[root@orcl01 tmp]# tar -zxvf boost_1_59_0.tar.gz
[root@orcl01 tmp]# ll
total 131096
drwx------  8    501 games        4096 Aug 12  2015 boost_1_59_0
-rw-r--r--  1 root   root     83709983 Aug 28 13:03 boost_1_59_0.tar.gz
#将解压后的文件移动到/usr/local下
[root@orcl01 tmp]# mv boost_1_59_0 /usr/local/boost
[root@orcl01 tmp]# cd /usr/local
[root@orcl01 local]# ll
total 44
drwxr-xr-x. 2 root root  4096 Aug 24 10:00 bin
drwx------  8  501 games 4096 Aug 12  2015 boost

1.3. mysql源码包下载

官方下载地址为:http://dev.mysql.com/downloads/mysql/
这里写图片描述

下载如下.tar.gz包
这里写图片描述

1.4. 创建用户、组和目录

[root@orcl01 home]# groupadd mysql
[root@orcl01 home]# useradd -g mysql mysql
[root@orcl01 /]# mkdir mysql
[root@orcl01 /]# mkdir /mysql/data

第二章 编译安装

2.1. 编译mysql

解压mysql包

[root@orcl01 tmp]#tar -zxvf mysql-5.7.14.tar.gz

编译mysql

[root@orcl01 tmp]# cd mysql-5.7.14
[root@orcl01 mysql-5.7.14]# cmake -DCMAKE_INSTALL_PREFIX=/mysql -DMYSQL_DATADIR=/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=33306 -DMYSQL_USER=mysql -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 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

其中
CMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306,这里修改为33306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock

2.2. 编译安装

[root@orcl01 mysql-5.7.14]#make –j
[root@orcl01 mysql-5.7.14]#make test
[root@orcl01 mysql-5.7.14]#make install

第三章 初始化Mysql

检查data目录权限

[root@sysbench mysql]# chown -R mysql:mysql data/

创建配置文件
将默认生成的my.cnf备份

[root@orcl01 mysql-5.7.14]# mv /etc/my.cnf /etc/my.cnf.bak 
[root@orcl01 mysql-5.7.14]#cd bin/
[root@orcl01 bin]#./mysqld --initialize --user=mysql --basedir=/mysql --datadir=/mysql/data
[[A2017-04-05T16:06:26.636541Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2017-04-05T16:06:26.636605Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2017-04-05T16:06:26.928097Z 0 [Warning] InnoDB: New log files created, LSN=45790
2017-04-05T16:06:27.002336Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2017-04-05T16:06:27.084137Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d2c6d8fc-1a19-11e7-83f3-000c29708ad8.
2017-04-05T16:06:27.087223Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2017-04-05T16:06:27.089334Z 1 [Note] A temporary password is generated for root@localhost: SsqI<zmR=9J7(root的初始化密码,需要修改)

将mysql设置为服务:

[root@sysbench tmp]# cd /mysql/support-files/
[root@sysbench support-files]# cp mysql.server /etc/init.d/mysql

启动mysql

[root@sysbench data]# service mysql start
Starting MySQL. SUCCESS! 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值