介绍

软件应用最重要的就是数据库了,可是还有小伙伴不会在Linux上安装MySQL数据库,今天就来讲讲如何在CentOS7环境使用源码进行安装MySQL5.7.X。

选择自己合适的版本号,选择.tar.gz文件下载。

下载

下面使用mysql-boost5.7.30.tar.gz进行安装,选择源码Source Code,选择带Boost的版本,点击Download开始下载。

安装环境

安装 libaio, libaio 包的作用是为了支持同步I/O,对于数据库之类的系统特别重要。

  1. yum install -y libaio

安装 cmake,CMake是一个跨平台的安装(编译)工具。

  1. yum install -y cmake

安装依赖

  1. yum install -y gcc-c++ bison-devel ncurses-devel bison perl perl-devel perl perl-devel

安装

创建一个资源目录把 MySQL 安装包 上传到这个目录下

  1. mkdir /usr/local/resource

解压安装包

  1. tar -zxvf mysql-boost5.7.30.tar.gz

添加mysql组及用户

  1. groupadd mysql
  1. useradd -r -g mysql mysql

若提示已存在说明已经添加好了

新建MySQL的安装目录

  1. mkdir /usr/local/mysql

新建MySQL的数据存储目录

  1. mkdir /usr/local/mysql/data

编译安装

进入解压的目录

  1. cd /usr/local/resource/mysql-5.7.

cmake编译

  1. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DWITH_MEMORY_STORAGE_ENGINE= -DWITH_READLINE= -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT= -DENABLED_LOCAL_INFILE= -DWITH_PARTITION_STORAGE_ENGINE= -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

这里再写一份换行版方便查看参数,执行时选择上面这行命令

  1. cmake \
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  3. -DMYSQL_DATADIR=/usr/local/mysql/data \
  4. -DSYSCONFDIR=/etc \
  5. -DWITH_BOOST=boost
  6. -DWITH_MYISAM_STORAGE_ENGINE= \
  7. -DWITH_INNOBASE_STORAGE_ENGINE= \
  8. -DWITH_MEMORY_STORAGE_ENGINE= \
  9. -DWITH_READLINE= \
  10. -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
  11. -DMYSQL_TCP_PORT= \
  12. -DENABLED_LOCAL_INFILE= \
  13. -DWITH_PARTITION_STORAGE_ENGINE= \
  14. -DEXTRA_CHARSETS=all \
  15. -DDEFAULT_CHARSET=utf8 \
  16. -DDEFAULT_COLLATION=utf8_general_ci

make编译,此处时间比较长,约半小时,耐心等待

  1. make

make安装

  1. make install

设置权限

  1. chown -R root /usr/local/mysql
  1. chown -R mysql:mysql /usr/local/mysql
  1. chown -R mysql /usr/local/mysql/data

初始化MySQL

  1. cd /usr/local/mysql/bin

./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

初始化完成,并给root用户生成了临时密码,这里要把密码记录下来,稍后需要

复制mysql服务启动脚本

  1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

启动MySQL服务

  1. service mysqld start

登录

  1. cd /usr/local/mysql/bin
    ./mysql -u root -p

输入刚刚的密码

  1. 0pLszS33sD>w

登录成功

修改MySQL用户root的密码为root

  1. mysql> set password for root@localhost = password('root');

赋予权限并设置可以远程访问

  1. mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

刷新权限

  1. mysql> FLUSH PRIVILEGES;

查看权限

  1.  
  1. mysql> select user,host from mysql.user;

输入exit退出

远程测试连接成功

至此,MySQL5.7.30已经安装成功!

推荐阅读:CentOS7源码安装JDK

推荐阅读:CentOS7源码安装Nginx

喜欢的话记得推荐并收藏哦~~~

CentOS7(Linux)源码安装MySQL5.7.X的更多相关文章

  1. CentOS7 实战源码安装mysql5.7.17数据库服务器

    CentOS7 实战源码安装mysql5.7.17数据库服务器 简介:实战演练mysql数据库服务器的搭建  mysql简介: mysql是一个开源的关系型数据库管理系统,现在是oracle公司旗下的 ...

  2. CentOS7下源码安装mysql5.6

    目录 准备工作 运行环境 确认你的安装版本 下载mysql 安装mysql 准备安装环境 编译和安装 配置mysql 单实例配置      单实例配置方法          添加防火墙         ...

  3. centos7上源码安装mysql5.7.11

    由于初学,安装这玩意搞了三天,其间各种报错难以解决,网上各种解答误导.最好的办法还是使用官方的英文文档,建议初学者一定要使用官方的文档,特别是下面两个页面作为初学者一定要细看: Installing ...

  4. centos7下源码安装mysql5.7.16

    一.下载源码包下载mysql源码包 http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.16.tar.gz 二.安装约定: 用户名:mysql 安装目录 ...

  5. mysql安装三 linux源码安装mysql5.6.22

    http://blog.csdn.net/beiigang/article/details/43053803

  6. mysql-5.5 for linux源码安装

    mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison  ...

  7. lnmp之阿里云源码安装mysql5.7.17

    mysql5.7.17一直号称世界上最好的mysql 那么就在阿里云主机linux安装它(采用的源码安装mysql5.7.17) 我在阿里云主机上安装它 连接阿里云主机 进入,跟我们自己装的虚拟机一毛 ...

  8. CentOS6.7源码安装MySQL5.6

    1.源码安装MySQL5.6 # CentOS6操作系统安装完成后,默认会在/etc目录下存在一个my.cnf, # 强制卸载了mysql-libs之后,my.cnf就会消失 rpm -qa | gr ...

  9. Linux源码安装JDK1.8

    Linux源码安装Java 1.到官网下载 jdk-8u131-linux-x64.tar.gz 官网地址:http://www.oracle.com/technetwork/java/javase/ ...

  10. CentOS6.5源码安装MySQL5.6.35

    CentOS6.5源码安装MySQL5.6.35 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [root@localhost tools]# rpm -qa|grep -i mysql ...

随机推荐

  1. 设计模式:proxy模式

    目的:为其他对象提供一种代理以控制对这个对象的访问 理解:尽管Decorator的实现部分与代理相似,但Decorator的目的不一样.Decorator为对象添加一个或多个功能,而代理则控制对对象的 ...

  2. mysql查看各表占磁盘空间

    select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size, concat(truncate(ind ...

  3. spring学习(二)spring容器搭建与应用

    本文只是对spring容器进行操作 最简单的一个案例: 一.导包 使用IDEA的maven工程 1.在pom.xml中导入依赖 <?xml version="1.0" enc ...

  4. Android实现QQ登录

    https://www.jianshu.com/p/e59bc198e88f

  5. Python网络编程基础 PDF 完整超清版|网盘链接内附提取码下载|

    点此获取下载地址提取码:y9u5 Python网络编程最好新手入门书籍!175个详细案例,事实胜于雄辩,Sockets.DNS.Web Service.FTP.Email.SMTP.POP.IMAP. ...

  6. pandas_时间序列和常用操作

    # 时间序列和常用操作 import pandas as pd # 每隔五天--5D pd.date_range(start = '',end = '',freq = '5D') ''' Dateti ...

  7. PHP array_map() 函数

    实例 将函数作用到数组中的每个值上,每个值都乘以本身,并返回带有新的值的数组: <?phpfunction myfunction($v){return($v*$v);} $a=array(1,2 ...

  8. Vue无限滚动加载数据

    Web项目经常会用到下拉滚动加载数据的功能,今天就来种草Vue-infinite-loading 这个插件,讲解一下使用方法! 第一步:安装 npm install vue-infinite-load ...

  9. luogu P4798 [CEOI2015 Day1]卡尔文球锦标赛 dp 数位dp

    LINK:卡尔文球锦标赛 可以先思考一下合法的序列长什么样子. 可以发现后面的选手可以使用前面出现的编号也可以直接自己新建一个队. 其实有在任意时刻i 序列的mex>max.即要其前缀子序列中1 ...

  10. Qt 之 Graphics View Framework 简介

    Graphics View Framework 交互式 2D 图形的 Graphics View 框架概述.自 Qt4.2 中引入了 Graphics View,以取代其前身 QCanvas.Grap ...