一、源码安装

1、经典的源代码安装三步曲:

  1、编译前的配置

    ./configure

  2、编译

    make

  3、安装

    make install

2、源代码软件安装步骤:

  1、下载软件包

  2、校验软件包

  3、解包

  4、进入解包得到的目录

  5、认真阅读README和INSTALL文件

  6、按照README或者INSTALL文件中的安装步骤进行安装

实验环境搭建:

  1、basic server安装选项

  2、配置磁盘80G,swap 1024M,其他分配给/分区

  3、安装完成以后,配置网络

    主机名字、IP地址、/etc/hosts、默认网关

  4、关闭selinux、iptables

  5、配置yum

  6、配置secureCRT登录,hostonly或者桥接网络

二、源码安装MySQL 5.7

shell> pwd  #mysql的安装目录

/usr/local/mysql

1、编译安装mysql前

shell> yum install -y gcc,gcc-c++,make,ncurses-devel  #编译环境

2、编译安装cmake

shell> tar xf cmake-3.6.2.tar.gz -C /usr/local/src/

shell> cd /usr/local/src/cmake-3.6.2/

shell> ./bootstrap

shell> make

shell> make install

3、上传boost_1_59_0.tar.gz到linux上,例如上传到/usr/local/src

4、编译安装mysql

shell> groupadd mysql

shell> useradd -r -g mysql -s /bin/false mysql

shell> tar xf mysql-5.7.14.tar.gz -C /usr/local/src/

shell> cd /usr/local/src/mysql-5.7.14

shell> cmake . -DWITH_BOOST=/usr/local/src  #boost_1_59_0.tar.gz存放在"/usr/local/src"

shell> make

shell> make install

shell> cd /usr/local/mysql

shell> /usr/local/mysql/bin/mysqld --initialize --datadir=/mydata --user=mysql  #mysql初始化,生成一些mysql的系统库,只需做一次

5、修改mysql的配置文件

shell> vim /etc/my.cnf

[mysqld]
datadir=/mydata  //修改成上一步初始化指定的datadir
user=mysql
socket=/var/lib/mysql/mysql.sock
//此为默认指定
//在datadir下生成mysql.sock,该文件是在mysql启动的时候,自动创建。mysql在停止的时候会自动删除该文件。修改的话:socket=/mydata/mysql.sock [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid  //在datadir下生成mysql.pid

6、启动mysql

shell> cd /usr/local/mysql

shell> bin/mysqld_safe --user=mysql &

7、检查mysql是否启动成功

shell> netstat -an | grep :3306

tcp 0 0 :::3306 :::* LISTEN

8、登录mysql

shell> /usr/local/mysql/bin/mysql -uroot -p -S /var/lib/mysql/mysql.sock

  #-S 指定sock文件,可以通过ps进程查看mysql的sock文件

9、破解mysql密码

  1、停止mysql:kill

  2、shell> vim /etc/my.cnf

    增加skip-grant-tables

  3、启动mysql服务

  4、登录mysql

    shell> mysql -uroot -p -S /mydata/mysql.sock  #跳过密码启动,可以直接回车进入

  5、加载授权表

    mysql> flush privileges;

  6、修改mysql库中 的用户密码

    mysql> use mysql;

    mysql> alter user 'root'@'localhost' identified by '密码(自定义)';

  7、停止mysql

    mysql> shutdown;

  8、shell> vim /etc/my.cnf

    注释skip-grant-tables

  9、启动mysql服务

10、mysql的关机

  1、非正常:杀进程 kill -9 PID PPID

  2、正常:mysql> shutdown; 或者 mysql> quit;

三、源码安装MySQL 5.6

1、shell> yum install gcc gcc-c++ ncurses-devel bison

2、shell> yum install cmake readline-devel

3、建立用户和组

shell> groupadd mysql

shell> useradd -r -g mysql mysql

4、mkdir -p /usr/local/mysql/data

5、chown -R mysql:mysql /usr/local/mysql/

6、tar zxvf mysql-5.6.29.tar.gz

7、shell> mkdir project ; cd project/

shell> pwd

/software/mysql-5.6.29/project

8、cmake ../

9、make ; make install

10、rm -f /etc/my.cnf

11、初始化

shell> ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --defaults-file=/usr/local/mysql/my.cnf

12、编辑my.cnf文件

shell> vim /etc/my.cnf
[mysqld]  //服务端
datadir=/mydata
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links= [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid [mysql]  //客户端
socket=/var/lib/mysql/mysql.sock

13、编辑PATH环境变量

shell> echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

14、启动MySQL服务

shell> cp ./support-files/mysql.server /etc/init.d/

shell> service mysql.server stop

Shutting down MySQL.[ OK ]

shell> service mysql.server start

Starting MySQL.[ OK ]

15、进入MySQL

shell> mysql -uroot -p  #空密码进入,5.6默认没有密码

16、配置用户密码和远程访问权限

  1、连接系统权限数据库

  mysql> use mysql;

  Database changed

  2、设置密码

  mysql> update user set password=password("123") where user="root";

  Query OK, 3 rows affected (0.06 sec)

  Rows matched: 5 Changed: 3 Warnings: 0

  3、刷新权限

  mysql> flush privileges;

  Query OK, 0 rows affected (0.03 sec)

  4、退出

源代码安装软件-MySQL的更多相关文章

  1. 【转载】绝对干货!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载九)如何通过源代码安装软件

    除了使用Linux的包管理机制进行软件的安装.更新和卸载,从源代码进行软件的安装也是非常常见的,开源软件提供了源代码包,开发者可以方便的通过源代码进行安装.从源码安装软件一般经过软件配置.编译软件.执 ...

  2. Linux 中如何用源代码安装软件,以及如何卸载它

    https://www.linuxidc.com/Linux/2017-12/149839.htm http://www.openssh.com/ http://www.openssh.com/por ...

  3. Linux上使用源代码安装软件

  4. 利用autotools工具制作从源代码安装的软件 分类: linux 2014-06-02 23:27 340人阅读 评论(0) 收藏

    编写程序(helloworld.c)并将其放到一个单独目录. helloworld.c: #include<stdio.h> int main() { printf("hello ...

  5. Win或Linux中编译安装软件的命令解析: configure; make; make install

    原文地址:http://www.cnblogs.com/Jerry-Chou/archive/2010/12/18/1909843.html 翻译一篇文章,我最早从这篇文章中了解到为什么Linux平台 ...

  6. [MySQL数据库之数据库相关概念、MySQL下载安装、MySQL软件基本管理、SQL语句]

    [MySQL数据库之数据库相关概念.MySQL下载安装.MySQL软件基本管理.SQL语句] 数据库相关概念 数据库管理软件的由来 数据库管理软件:本质就是个C/S架构的套接字程序. 我们在编写任何程 ...

  7. 源代码安装 MySQL 5.6.28

    本文内容 创建 MySQL 用户和组 解压 MySQL 源代码包 生成配置安装文件 编译和安装 MySQL 配置文件 创建 MySQL 授权表 MySQL 目录授权 启动 MySQL 验证 MySQL ...

  8. Linux 首先基本包安装(vim啊什么的),源,源优化,项目架构介绍, (LNMuWsgi)Django项目相关软件mysql,redies,python(相关模块)安装配置测试

    内容 补充: 查看已启动服务的端口 netstat -tulnp |grep (方式1) ss -tulnp|grep (方式2) 前期铺垫: . Linux要能上网 . 掌握Linux软件包安装方法 ...

  9. 源代码安装-非ROOT用户安装软件的方法

    0.    前言 如果你没有sudo权限,则很多程序是无法使用别人编译好的文件安装的. 还有时候,没有对应你的主机配置的安装包,这时候需要我们自己下载最原始的源代码,然后进行编译安装. 这样安装的程序 ...

随机推荐

  1. 轻量级操作系统FreeRTOS的内存管理机制(一)

    本文由嵌入式企鹅圈原创团队成员朱衡德(Hunter_Zhu)供稿. 近几年来,FreeRTOS在嵌入式操作系统排行榜中一直位居前列,作为开源的嵌入式操作系统之一,它支持许多不同架构的处理器以及多种编译 ...

  2. webpack 打包成功,但是css不起作用

    问题: webpack 打包成功,但是css不起作用 问题分析/解决: 原因有以下几种 使用了webpack2的语法规则不正确; webpack2要求必须写-loader; 可能是只写了css-loa ...

  3. Java 原始数据类型的计算:运算符重载(Operator Overload)和类型转换(Type Conversion)

    原文阅读:<算法(第四版)>第一章 第一节:基础编程模型 有没有在面试的时候被问到:下面这几行代码的执行结果是什么?依据是什么? System.out.println (5/3); Sys ...

  4. redis 链表

    redis 链表 前言 借鉴了 黄健宏 的 <<Redis 设计与实现>> 一书, 对 redis 源码进行学习 欢迎大家给予意见, 互相沟通学习 概述 redis 的链表结构 ...

  5. Extjs6(一)——用sencha cmd建立一个ExtJs小项目

    本文基于ext-6.0.0 一.用sencha cmd建立一个ExtJs小项目 首先,需要一个命令行工具.进入extjs所在目录. 然后,输入:sencha -sdk [ExtJs6.0文件夹地址] ...

  6. Java Tomcat 启动失败的解决思路

    好久没写新博文了,离自己要求的每年几篇的目标也是渐行渐远. 最近在学习Java,也是从基础学习,因为我是一个.net开发人员,所以学习的成本相对低些.Java JDK,JRE,Tomact 的安装及配 ...

  7. [Git]08 如何自动补全命令

     [Git]08如何自动补全命令 如果你用的是 Bash shell,可以试试看 Git 提供的自动完成脚本.下载 Git 的源代码,进入 contrib/completion 目录,会看到一个g ...

  8. React学习(一)父子组件通讯

    React父子组件之间通讯,利用props和state完成,首先React是单向数据流,父组件可以向子组件传递props: 实现父子组件双向数据流整体的思路是: 1,父组件可以向子组件传递props, ...

  9. 浅谈JavaScript匿名函数与闭包

    一. 匿名函数   //普通函数定义: //单独的匿名函数是无法运行的.就算运行了,也无法调用,因为没有名称. 如: function(){             alert('123');    ...

  10. H5万能选择器:iosselect

    iosselect是个什么东西? 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的picker,安卓下各浏览器展示各异,我们需要一个选择器组件来统一各端下各种浏览器的展示.下面是 ...