一、下载安装包

(1). 下载MySQL源码 (进入/usr/local/src目录,使用wget下载)

cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz

(2). 下载 boost 

wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz

二. 编译安装

(1). 安装必要的软件依赖

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ ncurses-devel

(2). 解压缩MySQL源文件

tar -zxvf mysql-5.7.20.tar.gz

将boost的压缩包移动至解压后的源文件目录内:

mv boost_1_59_0.tar.gz mysql-5.7.20

(3). 进入MySQL源文件目录,新建configure做为编译目录,并进入该目录

依次执行如下命令:

cd mysql-5.7.20
mkdir configure
cd configure

(4). 使用cmake进行生成编译环境

cmake .. -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-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=..

编译完成后如图:

(5). 使用make进行编译

make

(6). 安装MySQL

make install

三. 初始化数据库

(1). 添加mysql用户

useradd -s /bin/bash mysql

(2). 新建数据库文件夹,并更改用户为mysql

mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log

 (3). 修改配置文件

vim /etc/my.cnf

将[mysqld]项下的内容替换为:

port=3306

datadir=/mysql_data

log_error=/var/mysql/log/error.log

basedir=/var/mysql/

将[mysqld_safe]下的两行代码注释掉,如图:

(4) 初始化数据库

/var/mysql/bin/mysqld --initialize --user=mysql

四. 配置启动文件及环境变更

(1). 从模板文件中复制启动文件:

cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

(2). 修改启动文件:

vim /etc/init.d/mysqld

找到

basedir=

datadir=

改成:

basedir=/var/mysql

datadir=/mysql_data

如图:

(3). 启动MySQL

/etc/init.d/mysqld start

或者

/var/mysql/support-files/mysql.server start

(4). 设置MySQL开机启动:

systemctl enable mysqld

(5). 配置MySQL环境变量

vim /root/.bash_profile

找到 PATH=$PATH:$HOME/bin,在后边追加 :/var/mysql/bin,如图:

修改完毕保存后执行:

source ~/.bash_profile

五、修改root的初始密码

(1). 查看root的初始密码

cat /var/mysql/log/error.log |grep 'temporary password'

2017-11-25T11:06:00.720431Z 1 [Note] A temporary password is generated for root@localhost: TpsFRvErh4_B

root@localhost: 后边的那串字符即为初始密码

(2). 登录MySQL并修改初始密码:

mysql -uroot -p

登录后立即修改初始密码:

alter user 'root'@'localhost' identified by 'your_password'

修改完成后会显示:Query OK, 0rows affected (0.00 sec)

至此,已经完成在 CentOS7 上手工编译、安装MySQL5.7.20全部过程

 

如何在 Centos7 中安装 Mysql 5.7的更多相关文章

  1. centos7中安装mysql

    centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...

  2. CentOS7 中安装 MySQL

    0. 说明 参考 centos7.2安装MySQL CentOS 7 下 Yum 安装 MySQL 5.7 两种方式安装 MySQL 安装 MySQL(yum) & 安装 MySQL(yum) ...

  3. CentOS7中安装MySQL(简便)及 网站的搭建

    一.首先,我们需要配置CentOS7中网络环境的搭建,物理机IP为192.168.100.39,虚拟机IP为192.168.100.139,网络模式设置为桥接模式 ,再进入系统挂载光盘.输入命令   ...

  4. 如何在CentOS7上安装MySQL并实现远程访问

    传送门 本人乃学生小白一枚,近期在学习Linux,所以就简单记录一下~ 安装MySQL 首先,需要检查一下是否已经安装了MySQL : # rpm -qa | grep mysql 这时候没有任何输出 ...

  5. Centos7中安装Mysql及配置

    CentOS 7 安装 MySQL 首先检查 MySQL 是否已安装 yum list installed | grep mysql 如果有的话 就全部卸载 yum -y remove +数据库名称 ...

  6. Linux系统之路——如何在CentOS7.2安装MySQL

    一.Mysql 各个版本区别:1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持.2.MySQL Enterprise Edition 企业版本,需付费,可以试 ...

  7. rpm方式在centos7中安装mysql

    .安装MySQL server 首先下载好mysql的rpm安装包 使用rpm命令安装: rpm -ivh MySQL-server--.glibc23.i386.rpm #rpm -ivh MySQ ...

  8. 如何在ubuntu中安装mysql与mysql workbench

    安装过程如下 sudo apt-get install mysql-server 安装过程中随后设置mysql的密码 之后sudo apt-get install mysql-client 安装好之后 ...

  9. 如何在 Centos7 中安装 gcc

    系统环境:Centos7.4 今天在安装 Nodejs8.7 的时候,报了一个警告: WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ ...

随机推荐

  1. 深入理解Java的浅克隆与深克隆

    前言 克隆,即复制一个对象,该对象的属性与被复制的对象一致,如果不使用Object类中的clone方法实现克隆,可以自己new出一个对象,并对相应的属性进行数据,这样也能实现克隆的目的. 但当对象属性 ...

  2. 浅谈ASP.NET Core中IOC与DI的理解和使用

    说起IOC和DI,使用过ASP.NET Core的人对这两个概念一定不陌生,早前,自己也有尝试过去了解这两个东西,但是一直觉得有点很难去理解,总觉得对其还是模糊不清,所以,趁着今天有空,就去把两个概念 ...

  3. 大白话5分钟带你走进人工智能-第30节集成学习之Boosting方式和Adaboost

    目录 1.前述: 2.Bosting方式介绍: 3.Adaboost例子: 4.adaboost整体流程: 5.待解决问题: 6.解决第一个问题:如何获得不同的g(x): 6.1 我们看下权重与函数的 ...

  4. Binary classification - 聊聊评价指标的那些事儿【实战篇】

    分类问题就像披着羊皮的狼,看起来天真无害用起来天雷滚滚.比如在建模前你思考过下面的问题么? 你的分类模型输出的概率只是用来做样本间的相对排序,还是概率本身? 你的训练数据本身分布如何是否存在Imbal ...

  5. 查询IP地址的免费API

    1.百度 1.http://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=192.168.0.0&co=&resource_ ...

  6. IDEA永久使用

    IDEA永久使用 一.在https://www.cnblogs.com/zyx110/p/10799387.html中下载下面图片中箭头所指的部分 下载完成后双击打开,除了以下图片提示内容,一路下一步 ...

  7. Spring Cloud 之 Hystrix.

    一.概述  在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依 ...

  8. 谷歌地球 Google Earth v7.3.2.5495 专业版

    谷歌地球(Google Earth,GE)是一款谷歌公司开发的虚拟地球软件,它把卫星照片.航空照相和GIS布置在一个地球的三维模型上.谷歌地球于2005年向全球推出,被<PC 世界杂志>评 ...

  9. IO流簡單代碼

    今天測試了一下,在博客園裏HTML源碼編譯器裏寫CSS内部樣式,更新編譯后,内部樣式可用,但是會將寫的内部樣式代碼强制加上代碼注釋進行編譯,有點類似于强制注入.編譯后的效果就是在前面加入了一個空的p標 ...

  10. Noip 2016 愤怒的小鸟 题解

    [NOIP2016]愤怒的小鸟 时间限制:1 s   内存限制:256 MB [题目描述] Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0, ...