文档章节

MySQL 5.7源码编译安装

Leech
 Leech
发布于 2017/09/04 14:27
字数 594
阅读 97
收藏 1

1、准备环境。

# yum install cmake gcc gcc-c++ bison libaio-devel.x86_64 ncurses ncurses-devel

2、 下载并解压MySQL源码包(含boost)。

# tar -zxvf mysql-boost-5.7.16.tar.gz

3、在MySQL源码目录中创建debug目录用于存放编译中间文件等,防止污染源码目录。

# cd mysql-5.7.16
# mkdir debug
# cd debug

4、通过CMake命令生成编译环境。

cmake .. -DBUILD_CONFIG=mysql_release \
         -DINSTALL_LAYOUT=STANDALONE \
         -DCMAKE_BUILD_TYPE=RelWithDebInfo \
	 	 -DENABLE_DTRACE=OFF \
	 	 -DWITH_EMBEDDED_SERVER=OFF \
	 	 -DWITH_INNOBASE_STORAGE_ENGINE=ON \
	 	 -DWITH_INNODB_MEMCACHED=ON \
	 	 -DWITH_SSL=bundled \
	 	 -DWITH_ZLIB=system \
	 	 -DWITH_PAM=ON \
	 	 -DCMAKE_INSTALL_PREFIX=/var/mysql/ \
	 	 -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
		 -DDEFAULT_CHARSET=utf8 \
	 	 -DDEFAULT_COLLATION=utf8_general_ci \
	 	 -DWITH_EDITLINE=bundled \
	 	 -DFEATURE_SET=community \
	 	 -DCOMPILATION_COMMENT="MySQL Server (GPL)" \
	 	 -DWITH_DEBUG=OFF \
	 	 -DWITH_BOOST=../boost

参数名

备注

CMAKE_BUILD_TYPE

指定编译版本的选项

CMAKE_INSTALL_PREFIX

指定MySQL安装的根目录

ENABLED_PROFIING

指定是否打开profile

MYSQL_DATADIR

指定默认数据库路径

OPTIMIZER_TRACE

指定是否打开优化器TRACE模块

WITH_ARCHIVE_STORAGE_ENGINE

指定是否支持Archive存储引擎

WITH_INNOBASE_STORAGE_ENGINE

指定是否支持InnoDB存储引擎

WITH_BLACKHOLE _STORAGE_ENGINE

指定是否支持BLACKHOLE存储引擎

WITH_EXAMPLE _STORAGE_ENGINE

指定是否支持Example存储引擎

WITH_FEDERATED _STORAGE_ENGINE

指定是否支持Federated存储引擎

WITH_INNODB _MEMCACHED

指定是否支持INNODB的MEMCACHED

WITH_PARTITION_STORAGE_ENGINE

指定是否支持partition存储引擎

WITH_PERFSCHEMA_STORAGE_ENGINE

指定是否支持信息模式存储引擎

5、在当前目录下使用make命令开启24个线程进行编译

# make

 6、安装

# make install

7、创建配置文件目录、数据目录和配置文件

# mkdir -p /data/mysql/3306
# mkdir /var/mysql/conf
# vim /var/mysql/conf/3306.conf

配置文件内容:

# MySQL服务器端配置部分
[mysqld]
# 客户端端口
port=3306
# 数据保存目录
datadir=/data/mysql/3306
# 错误日志文件
log_error=/data/mysql/3306/error.log
# MySQL安装的根目录
basedir=/var/mysql/

8、使用mysql用户初始化MySQL默认数据库

# /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --initialize --user=mysql

备注:所有的数据目录及文件都是由mysql用户和组创建。MySQL 5.7新加入sys库。

9、通过mysql用户启动MySQL服务器

# /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --user=mysql

10、查看MySQL服务进程

# ps -ef|grep mysqld
mysql    48157  2333  1 23:06 pts/1    00:00:00 /var/mysql/bin/mysqld --defaults-file=/var/mysql/conf/3306.cnf --user=mysql

11、使用root用户和随机密码登录系统,然后为root用户修改密码。随机密码输出在error.log文件中。

# /var/mysql/bin/mysql -uroot -p
Enter password:
mysql> alter user 'root'@'localhost' identified by '新密码';
Query OK, 0 rows affected (0.00 sec)

 

© 著作权归作者所有

Leech
粉丝 21
博文 261
码字总数 587287
作品 0
武汉
架构师
私信 提问
OneinStack 1.2 发布,一键 PHP/JAVA 安装工具

这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Deb...

lj2007331
2016/03/03
2.8K
10
centos7安装sphinx2.2.11

推荐通过二进制包安装,简单快捷 1.如果你本机没有安装mysql5.6,会提示缺少 libmysqlclient.so.18 文件,这时候需要安装mysql-community-devel 先安装mysql yum仓库源 https://dev.mysql.co...

吾爱
2016/08/15
588
0
Linux MySQL5.7源码安装--未完成

问题 由于主机未连接外网并且只有普通权限用户,想通过源码安装MySQL5.7 流程 1、官网下载MySQL源码 2、使用编译 3、由于业务改成使用Oracle,所以并未继续验证…… 遇到的各种报错 版本过低...

莫显辉
2017/11/06
0
0
centos7.x编译安装mysql5.7.16

对于5.7以后的mysql编译安装,我遇到了不少坑,各种问题。mysql5.7.18编译openssl会出错,环境也神奇地报其他问题,即使我安装成功了,却无法以安装模式登陆mysql修改密码。 最后使用前几个版...

yanconggod
2017/07/09
0
0
【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装

【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其...

lhrbest
2017/08/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus删除

/** @author beth @data 2019-10-17 00:30 */ @RunWith(SpringRunner.class) @SpringBootTest public class DeleteTest { @Autowired private UserInfoMapper userInfoMapper; /** 根据id删除......

一个yuanbeth
今天
4
0
总结

一、设计模式 简单工厂:一个简单而且比较杂的工厂,可以创建任何对象给你 复杂工厂:先创建一种基础类型的工厂接口,然后各自集成实现这个接口,但是每个工厂都是这个基础类的扩展分类,spr...

BobwithB
今天
4
0
java内存模型

前言 Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点。而且很多概念的名称看起来又那么相似,很多人会傻傻分不清楚。比如本文我们要讨论的JVM内存结构、Java内存模...

ls_cherish
今天
4
0
友元函数强制转换

友元函数强制转换 p522

天王盖地虎626
昨天
5
0
js中实现页面跳转(返回前一页、后一页)

本文转载于:专业的前端网站➸js中实现页面跳转(返回前一页、后一页) 一:JS 重载页面,本地刷新,返回上一页 复制代码代码如下: <a href="javascript:history.go(-1)">返回上一页</a> <a h...

前端老手
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部