1.下载安装包:https://downloads.mysql.com/archives/community/

 2.安装开发工具和安装包

  因为要把源码编译成二进制数据,所以必须要有编译器和解释器

  gcc 是编译C语言的,gcc-c++是编译C++的,一般而言两个工具都安装上

  MySQL在5.5版本后,编译源码安装命令改成了cmake,不再是make,所以还要下载cmake命令和相关的所有库

3.解压

  上传压缩包  

  解压到自己指定的路径 

  

 

 4.添加mysql用户名和mysql组(有的话就不用添加)

  查看是否已创建此用户名和组(用户名和组存在/etc/passwd里)

  

  此处已存在,不用再创建

    创建用户和组的命令:

      [root@localhost local]# cd /usr/local/src/mysql-5.7.14/

      [root@localhost mysql-5.7.14]# groupadd -r -g 306 mysql
      [root@localhost mysql-5.7.14]# useradd -g 306 -r -u 306 mysql
5.执行camake:
  注意:cmake命令执行失败后,会生成一个 CMakeCache.txt文件(用来保存错误信息),下次使用时一定要删除此文件,否则还是会执行不成功
[root@localhost mysql-5.7.14]# cmake -DCMAKE_INSTALL_PREFIX=/soft/mysql -DMYSQL_DATADIR=/soft/mysql/data -DSYSCONFDIR=/etc/my.cnf -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/usr/local/src/mysql-5.7.14/boost/boost_1_59_0/ 
 
注意:
***第一行的/soft/mysql和/soft/mysql/data位置是使用cmake编译后的文件存放位置,可以自己定***
***最后一行的usr/local/src/mysql-5.7.14是MySQL源码的位置***
***高版本要将倒数第二行的两个utf8都改为utf8mb4***
***如果找不到第一行的文件夹,则需要创建相应文件夹***
***cmake命令要在MySQL源的路径里操作***

6.编译安装:注意路径!!!

  [root@localhost mysql-5.7.14]# make && make install 
  

注:执行这条命令后,可能会报以下错误:make: *** No targets specified and no makefile found. Stop.

  解决方法:
  1.update最新版本系统软件
   yum update
  2.Linux下各种依赖都已经安装,是因为没有找到makefile 如果是自己写的,确定在当前目录下;如果是源码安装,先运行./configure,生成makefile,再执行make,即可正常运行。
  ./configure cmake .
(我用了第一种方法)
 
7.初始化:
  cd到mysql文件夹里
  

  输入初始化命令:

  [root@bogon mysql]# /soft/mysql/bin/mysqld --initialize --user=mysql --datadir=/soft/mysql/data --basedir=/soft/mysql

注意:这里的/soft/是mysql文件夹的路径,修改路径的话改绿色框框里的就好

   basedir是当前路径,也就是mysql的路径

   记住临时密码

  

8.为MySQL提供配置文件:

  因为默认提供了配置文件support-files,所以直接替换次此配置文件就行(建议强行覆盖,在命令前加\)

  强行覆盖:# \cp my-default.cnf /etc/my.cnf

  

  编辑配置文件,指定MySQL数据文件的存放位置

  [root@bogon support-files]# vim /etc/my.cnf

  

9.为MySQL提供sysv服务脚本

  先切换到脚本所在路径

  

  复制脚本到指定路径,并查看脚本是否有X权限

 注释:init.d 目录中存放的是一系列系统服务的管理(启动与停止)脚本  

    用service命令可执行init.d目录中相应服务的脚本

      例:执行命令“service resin start”,可启动/etc/init.d/resin脚本

    /etc/init.d是指向/etc/rc.d/init.d的软连接

  

  如果没有权限,通过以下命令添加x权限

  [root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysqld

10.添加服务,设置开机自动启动

  

11.修改PATH环境变量,让系统可以直接使用MySQL相关命令

  [root@bogon /]# vim /etc/profile.d/mysql.sh

  注意bin目录的路径

  

  启动MySQL:

  

  且到bin下,使用之前记的初始密码,进入MySQL:  

  

  此时,无法正常使用MySQL,因为没有修改密码

  

 12.修改密码: 

  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密
码';
  

  修改成功后,可以正常使用MySQL

 

源码安装MySQL完成!

  安装总结:注意路径,有些命令像cmake,只能在MySQL源码路径才可以运行

  

  

  

  

  

    

  

  

  

 
 
 
 

  

  

Linux下源码安装方式安装MySQL的更多相关文章

  1. redhat6.3下源码编译方式安装最新版git

    在linux下安装git,通过yum方式安装的不是最新版本. 要替换最新版需要以下操作. 1.安装依赖包 # yum install curl-devel expat-devel gettext-de ...

  2. Linux编译源码的方式安装Qt4开发环境(基于Ubuntu系统)

    1.到官网http://qt-project.org/downloads或者ftp://ftp.qt-project.org/上下载Qt的源码包,要安装当然要先有源码咯,我下载的是qt-everywh ...

  3. centos7下源码编译方式安装httpd

    前言 Apache至少需要apr.apr-util.pcre组件的支持. APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主 ...

  4. CentOS7下源码包方式安装Erlang

    1.官网上下载源码包:OTP 19.1 Source File 2.把源码放在source目录中 , 解压 :tar -zxvf otp_src_19.1.tar.gz [或者 直接下载 rpm包 e ...

  5. CentOS7下源码包方式安装rabbitmq

    1.先安装erlang http://www.cnblogs.com/justphp/p/6093880.html 2.下载rabbitmq rpm包: wget http://www.rabbitm ...

  6. linux下源码安装netcat

    linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...

  7. 在Linux下源码编译安装GreatSQL/MySQL

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本 ...

  8. Linux 下源码安装大杂烩

    本文仅以记录平常源码安装部分软件是需注意的关键点. 有时为了方便,如在 Ubuntu 系统中,采用 sudo apt-get install soft-version 来安装某一版本的软件显得更为便捷 ...

  9. linux下源码安装jdk1.8和tomcat8.5

    Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 0.java简介 1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得2)为了防止兼容性问题 ...

随机推荐

  1. (原创)用.NET Core实现一个在线客服系统(上篇)

    前言 没有视频的介绍显得尤为空白仓促.所以,如果你不赶时间,看看视频先 → → 戳我看视频 ← ←  在线演示访客端:http://role.fuyue.xyz/visitor/index客服端:ht ...

  2. 【原创】视频+文字:详解VBA解决数独问题

    [说在前面]: 之前,我在微信朋友圈看到一个同事发了一个状态,说的是她在家辅导孩子做作业,一个数独的题目,好像没有做出来.我看了下,我也做不出来,后来仔细想了下,花了两个多小时时间,用Python编了 ...

  3. c++11-17 模板核心知识(十)—— 区分万能引用(universal references)和右值引用

    引子 如何区分 模板参数 const disqualify universal reference auto声明 引子 T&&在代码里并不总是右值引用: void f(Widget&a ...

  4. 17_Android网络通信

    1. Android异步任务处理 在程序开启后,就会有一个主线程,负责与用户交互.如果在主线程中执行了耗时操作,那么界面就会停止响应,所以要将耗时操作转移到别的线程中. AsyncTask的用法,包括 ...

  5. UML第二次作业(代码互评)

    博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...

  6. Spring Cloud 学习 (六) Spring Cloud Config

    在实际开发过程中,每个服务都有大量的配置文件,例如数据库的配置.日志输出级别的配置等,而往往这些配置在不同的环境中也是不一样的.随着服务数量的增加,配置文件的管理也是一件非常复杂的事 在微服务架构中, ...

  7. (九)ELF和动态链接

    前言: 我们都知道我们所写的程序是被编译为一条条的CPU指令去执行的,但是在linux系统下能够运行的程序在windows环境下却运行不起来,但是我们使用的CPU明明是一样的,这又是为什么呢? 一.程 ...

  8. Java中正则表达式的使用(常用的方法)

    这两天回想了一下正则表达式的使用,顺便就总结了一下java的javascript中使用正则表达式的用法,需要看javascript中使用正则的朋友可以看我的另一篇总结,下面我就简单的介绍一下java中 ...

  9. 第9.1节 Python的文件打开函数open简介

    一.语法简介 函数基本使用语法:open(文件名,文件打开模式='rt') 其中: 1.文件名为可带路径的文件名,注意windows下路径的反斜杠会被作为转义符处理,因此可以采用前面再加反斜杠或使用原 ...

  10. python中的多线程和多进程

    一.简单理解一下线程和进程 一个进程中可有多个线程,线程之间可共享内存,进程间却是相互独立的.打比方就是,进程是火车,线程是火车厢,车厢内人员可以流动(数据共享) 二.python中的多线程和多进程 ...