centos 7编译安装mysql 5.7.20
1. 下载mysql 5.7.20源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
下载boost -----这个版本的MySQL要求boost的版本是1.59wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
2. 安装mysql依赖包
yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
3. 解压mysql源码包
tar -zxvf mysql-5.7.20.tar.gz
将boost的压缩包移动至解压后的源文件目录内:
mv boost_1_65_1.tar.gz ./mysql-5.7.20
cd mysql-5.7.20
mkdir configure
cd configure
4. 生成编译环境
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=.. 如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:
rm -rf CMakeCache.txt 如果出现下面的提示就表示成功生成了编译环境:
-- Configuring done
-- Generating done
5. make && make install
编译,安装mysql------在进行cmake后可使用$?---输出0则生成编译环境没问题(其他数字则生成编译环境有问题),make和make install一样可以用$?来判断是否编译和安装成功
6. 开始初始化数据库
(一)、添加mysql用户:
useradd -s /sbin/nologin mysql (二)、新建数据库文件夹及日志文件夹,并更改用户为mysql:
mkdir /mysql_data
mkdir /var/mysql/log
chown -R mysql:mysql /mysql_data/
chown -R mysql:mysql /var/mysql/log (三)、修改配置文件
vim /etc/my.cnf 将[mysqld]项下的内容替换为:
[mysqld]
port=3306
datadir=/mysql_data
log_error=/var/mysql/log/error.log
basedir=/var/mysql/
(四)、初始化数据库:
/var/mysql/bin/mysqld --initialize --user=mysql
ll /mysql_data/
ll /var/mysql/log/ -----查看是否生成文件

7. 配置启动文件和环境变量
(一)、配置启动文件 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:
[root@localhost mysql]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS! 可以看到提示,已经成功启动。当然你也可以使用systemctl来启动MySQL,但执行后,不会有任何提示。
[root@localhost ~]# systemctl start mysqld 设置MySQL开机自动启动:
[root@localhost ~]# systemctl enable mysqld
mysqld.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mysqld on ------如启动报如下错误
mkdir /var/log/mariadb---->touch /var/log/mariadb/mariadb.log ---->chown -R mysql.mysql /var/log/mariadb

配置MySQL环境变量:
vim /root/.bash_profile 找到下面一行:
PATH=$PATH:$HOME/bin 修改为:
PATH=$PATH:$HOME/bin:/var/mysql/bin
source ~/.bash_profile -----为了不用绝对路劲登录mysql(source修改后立即生效)
8. 修改root用户登录mysql的初始密码
1. 查看root的初始密码
MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码:
[root@www configure]# cat /var/mysql/log/error.log | grep 'A temporary'
2018-07-16T02:06:22.271664Z 1 [Note] A temporary password is generated for root@localhost: YA-o:Hr.w90a 最后一行冒号后面的部分YA-o:Hr.w90a就是初始密码。
2. 登录MySQL并修改初始密码:
使用初始密码登录MySQL:
[root@localhost ~]# mysql -uroot -p
Enter password: 登录后立即修改root密码:
mysql> alter user 'root'@'localhost' identified by '密码';
Query OK, 0 rows affected (0.00 sec)
如不修改初始密码是无法使用mysql的.-----如下图

centos 7编译安装mysql 5.7.20的更多相关文章
- CentOS 下编译安装MySQL
CnetOS 下编译安装 MySql 查看是否存在旧版本: rpm -qa | grep mysql 卸载旧版本: rpm -e mysql #普通删除模式 rpm -e --nodeps mys ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
- CentOS 7.4 使用源码包编译安装MySQL 5.7.20
使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进行编译安装了. 一.下载安装包 (一).先下载MySQL源码,网址为:https: ...
- 在CentOS上编译安装MySQL 5.7.13步骤详解
MySQL 5.7主要特性 更好的性能 对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是用户更关心的. 更好的InnoDB存 ...
- centos 7 编译安装mysql 详细过程
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...
- centos 7编译安装mysql 5.7.17
1.进入MySQL官网下载MySQL源代码 依次点击Downloads -> Community -> MySQL Community Server 源代码1.Select Operati ...
- CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作
CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614 使用yum安装的MySQL一般版本比较旧,但 ...
- CentOS 编译安装 mysql
1.前期准备 1.1 环境说明: 操作系统: CentOS release 6.4 (Final) [查看命令 cat /etc/redhat-release ] mysql : mysql-5.6. ...
- CentOS源码编译安装MySQL 5.5.15
CentOS源码编译安装MySQL 5.5.15 文章目录 [隐藏] 安装编译工具 下载源码 安装cmake和bison 编译安装MySQL 一些相关设置 安装编译工具 yum install g ...
随机推荐
- canvas 整个透明
ctx.globalAlpha=.9
- js逆向之AES加密
故事背景: 在获取某网站接口数据时,发现其请求的 headers 中的参数 使用了 AES算法加密 ,并对其进行校验,在此简单记录下自己的踩坑历程. AES简介: 高级加密标准(AES,Advance ...
- gin框架使用【4.请求参数】
GET url: http://127.0.0.1:8080/users?id=1&name=卷毛狒狒 package mainimport ( "github.com/gin-go ...
- 基于SqlSugar的数据库访问处理的封装,在.net6框架的Web API上开发应用
我前面几篇随笔介绍了关于几篇关于SqlSugar的基础封装,已经可以直接应用在Winform项目开发上,并且基础接口也通过了单元测试,同时测试通过了一些Winform功能页面:本篇随笔继续深化应用开发 ...
- Django学习——图书管理系统图书修改、orm常用和非常用字段(了解)、 orm字段参数(了解)、字段关系(了解)、手动创建第三张表、Meta元信息、原生SQL、Django与ajax(入门)
1 图书管理系统图书修改 1.1 views 修改图书获取id的两种方案 1 <input type="hidden" name="id" value=& ...
- RabbitMQ 3.9( 基础 )
1.认识MQ 1.1.什么是MQ? MQ全称:message queue 即 消息队列 这个队列遵循的原则:FIFO 即 先进先出 队列里面存的就是message 1.2.为什么要用MQ? 1.2.1 ...
- 馒头的1day漏洞巡舰系统
馒头的1day漏洞巡舰系统 1day漏洞巡舰系统的目的 1day漏洞巡舰系统的可行性 1day漏洞巡舰系统所用技术 1day漏洞巡舰系统思维导图 1day漏洞巡舰系统初步设计图 1day漏洞巡舰系统初 ...
- 什么是Docker容器?(全面了解使用)
一:为什么需要Docker容器? 1.引入 1.1麻烦的环境部署 1.在软件开发中,最麻烦的事情之一就是环境配置.在正常情况下,如果要保证程序能运行,我们需要设置好操作系统,以及各种库和组件的安装. ...
- 监控工具:nmon
软件介绍 分析工具 分析 AIX 和 Linux 性能的免费工具, 这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二. ...
- 791. Custom Sort String - LeetCode
Question 791. Custom Sort String Solution 题目大意:给你字符的顺序,让你排序另一个字符串. 思路: 输入参数如下: S = "cba" T ...