一、源码安装

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. js 不要使用new

    (1)不要使用new Array(),new Number, new String, or new Boolean. 等等 如果要新建数组,没有必要使用new Array(),使用[];原因是直观. ...

  2. 商城项目实战 | 1.1 Android 仿京东商城底部布局的选择效果 —— Selector 选择器的实现

    前言 本文为菜鸟窝作者刘婷的连载."商城项目实战"系列来聊聊仿"京东淘宝的购物商城"如何实现. 京东商城的底部布局的选择效果看上去很复杂,其实很简单,这主要是要 ...

  3. webrtc学习笔记2(Android端demo代码结构)

    最近正在修改webrtc的Android端demo和服务器交互的内容,介绍一下demo的大体结构吧,以便能快速回忆. 环境:Android5.0以上.libjingle_peerconnection_ ...

  4. CSS绘制简单图形

    究竟该用字体图标.图片图标.还是CSS画一个图标?我也不知道.各有千秋吧.本文将介绍如何用css绘制简单的图形,所有测试在chrome58.0完成,如果你不能得到正确结果请到caniuse查一查看看是 ...

  5. 基于jQuery的自定义插件:实现整屏分页转换的功能

    动态创建jQuery插件 一.实现功能: 1.基本功能:自适应式整屏分页功能的实现 2.通过鼠标点击标签页转换分页,支持键盘上下左右键的转换分页,同样支持 鼠标滚轮上下滑动转换分页 3.切屏时的动画效 ...

  6. 如何使用MySQL触发器trigger

    阅读目录:触发器trigger的使用 创建触发器 单一执行语句.多执行语句 new.old详解 查看触发器 删除触发器:慎用触发器,不用就删除 Q:什么是触发器? A: 触发器是与表有关的数据库对象, ...

  7. 如何使用angular-ui的弹出框

    在开发项目时,我们经常性的会遇到弹出框的需求,例如登陆,注册,添加信息等等....面对这一需求,我们当然也可以使用自己的双手进行编写,如果你时间充足可以试试. 今天我们讲解一下如何在angular框架 ...

  8. [原创]普通的MySQL多表连接查询

  9. 更快的理解js中循环嵌套

    [循环控制语句] break语句:终止本层循环,继续执行循环后面的语句:(当循环有多层时,break只会跳出一层循环) continue语句:跳过本次循环,继续执行下次循环: (对于for循环,con ...

  10. [笔记]scanf的使用(主要是针对char)

    学的是C++,用cin cout也用的很顺溜,写自己的类时重载"<<"与">>"运算符也很爽,但是发现在刷算法竞赛题时,cin cout ...