如何在 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++ ...
 
随机推荐
- 递归导致的StackOverflow的分析
			
递归在多层次遍历时尤为重要,这里我们不讲递归的实现,来谈谈递归的内存占用情况. 如下代码,当我们运行时很简单,StackOverflowException瞬间抛出:这里确实是“瞬间”出错了,线程堆栈溢 ...
 - asp.net mvc下实现微信公众号(JsApi)支付介绍
			
本文主要讲解asp.net mvc框架下公众号支付如何实现,公众号支付主要包括三个核心代码,前台调起支付js代码.对应js调用参数参数生成代码.支付成功处理代码. 一.微信支付方式介绍 微信提供了各种 ...
 - Java基础(六)  static五大应用场景
			
static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.上一个章节我们讲了final关键字的原理及用法,本 ...
 - mpvue 开发小程序接口数据统一管理
			
mpvue项目里做API与数据分离统一管理 小程序里请求数据接口使用wx:request,因为考虑项目比较大,最好把wx:request封装起来,统一使用管理 utils.js 配置开发环境和线上环境 ...
 - 系列教程 - java web开发
			
代码之间工作室持续推出Java Web开发系列教程与案例,供广大朋友分享交流技术经验,帮助喜欢java的朋友们学习进步: java web 开发教程(1) - 开发环境搭建 技术交流QQ群: 商务合作 ...
 - SpringBoot启动访问JSP页面,直接进入页面或者访问不到,报404,并且加载tomcat插件tomcat-embed-jasper也不行
			
这个问题花费了两天的时间,解决路径: 我用的是SpringBoot1.5.2,SpringMVC和Spring,tomcat启动插件都是默认的版本,Spring是4.3.7,jdk是1.7.0_80, ...
 - 28个Java开发常用规范技巧总结
			
1.类的命名使用驼峰式命名的规范. 例如:UserService,但是以下情景例外:DO / BO / PO / DTO / VO. 例如说:UserPO,StudentPO(PO,VO,DTO,等这 ...
 - System.arraycopy 和 Arrays.copyOf
			
System.arraycopy /* native关键字 本地方法 System类 java.lang.System.class 参数说明: src - 源数组. srcPos - 源数组中的起始位 ...
 - Neo4j 爬坑笔记for3.2.6
			
官网语法,非常详尽:http://neo4j.com/docs/developer-manual/current/cypher/clauses/match/ A:请对应版本号,不同大版本可能会有很大区 ...
 - 【hadoop+spark】搭建spark过程
			
部分转载,已标红源地址,本博客为本菜搭建与爬坑记录,整理版请看: https://blog.csdn.net/the_fool_/article/details/78211166 记录: ====== ...