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. 快速搭建Spring Boot项目

    Spring boot是Spring推出的一个轻量化web框架,主要解决了Spring对于小型项目饱受诟病的配置和开发速度问题. Spring Boot 包含的特性如下: 创建可以独立运行的 Spri ...

  2. Codeforces 877 C. Slava and tanks

    http://codeforces.com/problemset/problem/877/C   C. Slava and tanks time limit per test 2 seconds me ...

  3. [转载]Javascript 同步异步加载详解

    http://handyxuefeng.blog.163.com/blog/static/4545217220131125022640/ 本文总结一下浏览器在 javascript 的加载方式. 关键 ...

  4. Mother's Mil 母亲的牛奶

    Description 农民约翰有三个容量分别是A,B,C升的桶,A,B,C分别是三个从1到20的整数,最初,A和B桶都是空的,而C桶是装满牛奶的.有时,约翰把牛奶从一个桶倒到另一个桶中,直到被灌桶装 ...

  5. 解决windows文件夹不能自动刷新的问题

    我用的是win7系统,最近忽然发现我的文档文件夹里的文件不能自动刷新了,就是当剪切或删除某个文件后,文件夹里的文件没有变化,看起来文件还在原文件夹中,只有通过手动刷新后才能看到效果,该如何解决? 网上 ...

  6. 利用phpMyAdmin提权

    利用phpMyAdmin提权 发表于 2016-03-31   |   分类于 phpMyAdmin  |   暂无评论  |   9次阅读 爆路径 /phpmyadmin/libraries/lec ...

  7. plsql链接数据库配置

    一. 目录结构 D:\install\PLSQL        |-- instantclient_11_2            |-- tnsnames.ora        |-- PLSQL ...

  8. springboot中报异常Whitelabel Error Page

    开始以为是url写错了,但其实不是,然后启动application类在的包是要在最顶部,并且和pom中groupid一样 这个也没错,后来发现能访问RestController中的url,但是进不了方 ...

  9. 【记录】尝试用QEMU模拟ARM开发板去加载并运行Uboot,kernel,rootfs【转】

    转自:https://www.crifan.com/try_use_qemu_emulate_arm_board_to_load_and_run_uboot_kernel_rootfs/ [背景] 手 ...

  10. linux调试工具glibc的演示分析

    偶然中发现,下面的两端代码表现不一样 void main(){ void* p1 = malloc(32);       free(p1); free(p1); // 这里会报double free ...