如何在 Centos7 中安装 Mysql 5.7
一、下载安装包
(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的更多相关文章
- centos7中安装mysql
centos7中安装mysql网上已经很多资源了,我就不在赘述了.我这里只是记录下我安装的时候出现的一些问题. 原文:https://www.cnblogs.com/bigbrotherer/p/72 ...
- CentOS7 中安装 MySQL
0. 说明 参考 centos7.2安装MySQL CentOS 7 下 Yum 安装 MySQL 5.7 两种方式安装 MySQL 安装 MySQL(yum) & 安装 MySQL(yum) ...
- CentOS7中安装MySQL(简便)及 网站的搭建
一.首先,我们需要配置CentOS7中网络环境的搭建,物理机IP为192.168.100.39,虚拟机IP为192.168.100.139,网络模式设置为桥接模式 ,再进入系统挂载光盘.输入命令 ...
- 如何在CentOS7上安装MySQL并实现远程访问
传送门 本人乃学生小白一枚,近期在学习Linux,所以就简单记录一下~ 安装MySQL 首先,需要检查一下是否已经安装了MySQL : # rpm -qa | grep mysql 这时候没有任何输出 ...
- Centos7中安装Mysql及配置
CentOS 7 安装 MySQL 首先检查 MySQL 是否已安装 yum list installed | grep mysql 如果有的话 就全部卸载 yum -y remove +数据库名称 ...
- Linux系统之路——如何在CentOS7.2安装MySQL
一.Mysql 各个版本区别:1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持.2.MySQL Enterprise Edition 企业版本,需付费,可以试 ...
- rpm方式在centos7中安装mysql
.安装MySQL server 首先下载好mysql的rpm安装包 使用rpm命令安装: rpm -ivh MySQL-server--.glibc23.i386.rpm #rpm -ivh MySQ ...
- 如何在ubuntu中安装mysql与mysql workbench
安装过程如下 sudo apt-get install mysql-server 安装过程中随后设置mysql的密码 之后sudo apt-get install mysql-client 安装好之后 ...
- 如何在 Centos7 中安装 gcc
系统环境:Centos7.4 今天在安装 Nodejs8.7 的时候,报了一个警告: WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ ...
随机推荐
- spark开发常见问题之一:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
最近在学习研究pyspark机器学习算法,执行代码出现以下异常: 19/06/29 10:08:26 ERROR Shell: Failed to locate the winutils binary ...
- python trojan development 1st —— use python to send mail and caputre the screen then combine them
import smtplib from email.mime.text import MIMEText msg_from='1@qq.com' #发送方邮箱 passwd='bd' #填入发送方邮箱的 ...
- 【对象属性复制】BeanUtils.copyProperties(obj1, obj2);
实现对象的属性值复制,只会复制命名相同的文件. import org.springframework.beans.BeanUtils; BeanUtils.copyProperties(obj1, o ...
- apache出现forbidden
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow allow from all Require ...
- Python基础(八) 模块的引入与定义
模块定义 什么是模块:一个py文件就是一个模块 模块分为三类: 内置模块,(标准库):.python解释器自带的,time,os,sys,等等.200多种. 自定义模块:自己写的模块 第三方库(模块) ...
- spark 源码分析之十二 -- Spark内置RPC机制剖析之八Spark RPC总结
在spark 源码分析之五 -- Spark内置RPC机制剖析之一创建NettyRpcEnv中,剖析了NettyRpcEnv的创建过程. Dispatcher.NettyStreamManager.T ...
- 深入理解Java虚拟机笔记——垃圾收集器与内存分配策略
目录 判断对象是否死亡 引用计数器算法 可达性分析算法 各种引用 回收方法区 垃圾收集算法 标记-清除算法 复制算法 标记-整理算法 分代收集算法 HotSpot算法实现 枚举根节点 GC停顿(Sto ...
- django基础知识之分页:
分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据, ...
- 利用Jmeter模拟Github登录
最近学习了Jmeter的简单操作,很想找点东西来实战一下,因为我之前写过一篇通过Python模拟登录的文章,于是便想尝试下学习通过Jmeter来模拟登录. 本人环境:Jmeter5.1.1 关于Git ...
- 绝对是全网最好的Splay 入门详解——洛谷P3369&BZOJ3224: Tyvj 1728 普通平衡树 包教包会
平衡树是什么东西想必我就不用说太多了吧. 百度百科: 一个月之前的某天晚上,yuli巨佬为我们初步讲解了Splay,当时接触到了平衡树里的旋转等各种骚操作,感觉非常厉害.而第二天我调Splay的模板竟 ...