1、安装编译依赖

sudo apt-get install make cmake gcc g++ bison libncurses5-dev build-essential

2、下载mysql5.7源码并解压

下载地址:https://dev.mysql.com/downloads/mysql/,在“select operating system”中选择“source code”,然后下载源码包即可,我下载的版本是mysql-5.7.21

tar -xzf mysql-5.7..tar.gz -C /usr/local
cd /usr/local/mysql-5.7.21

3、编译安装

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_ARCHIVE_STORAGE_ENGINE= -DWITH_BLACKHOLE_STORAGE_ENGINE= -DWITH_PARTITION_STORAGE_ENGINE= -DWITH_PERFSCHEMA_STORAGE_ENGINE= -DWITHOUT_EXAMPLE_STORAGE_ENGINE= -DWITHOUT_FEDERATED_STORAGE_ENGINE= -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE= -DWITH_READLINE= -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT= -DMYSQL_USER=mysql -DCOMPILATION_COMMENT="lq-edition" -DENABLE_DTRACE= -DOPTIMIZER_TRACE= -DWITH_DEBUG=

这一步可能会遇到boost1_59的问题,下载boost1_59_0源码编译安装即可,下载地址:https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz,安装方法参照这篇文章(如果安装boost编译安装出现问题,则很可能是由于缺少libbz2-dev造成的,先apt-get install libbz2-dev后再编译安装boost即可)。

编译

make

安装

sudo make install

4、配置mysql

4.1 新建用户和用户组

sudo groupadd mysql
sudo useradd -g mysql mysql

4.2 设置mysql安装目录的权限

cd /usr/local/mysql
sudo chown -R mysql:mysql ./

4.3 初始化mysql,生成mysql临时密码

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

这一步后会产生一个临时登录密码,可以在下一步登录时使用。

4.4 开启ssl功能

sudo bin/mysql_ssl_rsa_setup

4.5 测试启动mysql

sudo bin/mysqld_safe --user=mysql

4.6 启动mysql服务并更改密码

sudo support-files/mysql.server start
sudo bin/mysql -u root -p
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');

4.7 将mysql服务放在/etc/init.d目录下

sudo support-files/mysql.server stop
sudo cp support-files/mysql.server /etc/init.d/mysql.server

这样就可以使用命令 service mysql.server start 来启动mysql服务。

4.8 将mysql添加到环境变量

vim ~/.bashrc

在开头添加

export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin

然后

source ~/.bashrc

使环境变量生效。

5、参考

1、https://blog.csdn.net/birdben/article/details/51712495

2、https://www.jianshu.com/p/117dab1b658d

3、https://blog.csdn.net/this_capslock/article/details/47170313

ubuntu16.04编译安装mysql5.7的更多相关文章

  1. ubuntu16.04 编译安装mysql5.7.x,以及配置使用

    編譯與安裝: 源码下载地址:http://dev.mysql.com/downloads/mysql/    选择Generic Linux (Architecture Independent), C ...

  2. Ubuntu14.04编译安装mysql5.6.26

    Ubuntu14.04编译安装mysql5.6.26 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libncurses5-d ...

  3. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  4. ubuntu16.04编译安装mysql-boost-5.7.21并编译成php扩展测试与使用

    我之前的文章已经改造了自定义MVC框架中的工具类(验证码,图片上传,图像处理,分类)4个类,接下来,就要改造模型类,模型类肯定要连接数据库,由于我的Ubuntu Linux是裸装的php(目前只编译了 ...

  5. Ubuntu16.04编译安装tensorflow,2018最新血泪踩坑之后的全面总结!绝对成功!【转】

    本文转载自:https://blog.csdn.net/pzh11001/article/details/79683133 大家好,我是 (深度学习硬件DIY总群)(719577294)群主:    ...

  6. Ubuntu16.04编译安装Redis Desktop Manager

    Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档  http://docs.redisdesk ...

  7. ubuntu16.04编译安装imu_tk

    imu_tk代码地址 https://bitbucket.org/alberto_pretto/imu_tk 安装依赖项 sudo apt-get install build-essential cm ...

  8. 在ubuntu16.04编译安装httperf

    在网上偶尔看到httperf可以在测试中使用.网上苦苦找不到ubuntu编译安装的方法.自己琢磨了一下,现在总结如下: apt install httperf vim /etc/security/li ...

  9. Win10 WSL Ubuntu18.04 编译安装MySQL5.7

    ---恢复内容开始--- 在win10 商店中选择 ubuntu18.04 下载地址 http://dev.mysql.com/downloads/mysql/ wget https://cdn.my ...

随机推荐

  1. 【js学习笔记】去除省、市、区、特别行政区、自治区

    不是很懂js,以前去除这些省.市.区的时候都是用的分支判断indexOf,如果!=-1则replace一次,今天看同事的代码,发现还有更简单的办法... var areaName = str.repl ...

  2. Elasticsearch之Java实战

    资料 http://www.cnblogs.com/kamong/p/6099914.html 搭建Elasticsearch服务器

  3. LintCode 158: Anagram

    LintCode 158: Anagram 题目描述 写出一个函数anagram(s, t)判断两个字符串是否可以通过改变字母的顺序变成一样的字符串. 样例 给出s = "abcd" ...

  4. 【转】 jquery easyui datagrid使用,分页、排序、查询

    $('#dg').datagrid({ url: "xxx.ashx",                    pagination: true,                p ...

  5. shell操作典型案例--FTP操作

    从FTP服务器上下载文件或上传文件到FTP服务器是生产环境中比较常见的场景之一. shell操作FTP的方式整理如下: 思路一:使用shell调用ftp等客户端 使用FTP方式,通过shell调用ft ...

  6. 天梯赛 L2-023. (模拟) 图着色问题

    题目链接 题目描述 图着色问题是一个著名的NP完全问题.给定无向图 G = (V, E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色? 但本题并不是要你解决这 ...

  7. HDU 1073 Online Judge (字符串处理)

    题目链接 Problem Description Ignatius is building an Online Judge, now he has worked out all the problem ...

  8. 【前端】直击源头的让你3秒理解并且会用Jsonp!!!

    1. 同源策略 ajax之所以需要“跨域”,罪魁祸首就是浏览器的同源策略.即,一个页面的ajax只能获取这个页面相同源或者相同域的数据. 如何叫“同源”或者“同域”呢?——协议.域名.端口号都必须相同 ...

  9. Dream------spark--spark集群的环境搭建

    1.下载安装scala http://www.scala-lang.org/download/2.11.6.html   2.解压下载后的文件,配置环境变量:编辑/etc/profile文件,添加如下 ...

  10. mybatis模糊查询防止SQL注入

    SQL注入,大家都不陌生,是一种常见的攻击方式.攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序.所以,在我们的应用 ...