首先,介绍一下MySQL的几种安装方式

1、RPM、Yum 的安装方式:安装方便、安装速度快,无法定制

2、二进制:不需要安装,解压即可使用,不能定制功能

3、编译安装:可定制,安装慢。

编译安装中需要注意的是 5.5之前的编译方式是:./configure  make && make install

而5.5之后则使用:cmake

企业中使用的安装方式:先编译,然后制作rpm,制作yum库,然后yum安装。

简单、速度快、可定制,比较复杂 制作时间长

MySQL的获取方式

软件包尽量去官方网站下载

官方地址:https://www.mysql.com/

不同的安装方式下载不同的包

Linux-Generic 代表的是二进制包

编译安装的话下载Source Code,表示源码包

博主的安装方式是编译安装方式,而二进制安装方式,就是将下载的二进制包解压后,即可

MySQL5.6安装与5.7安装过程中有哪些差异

5.6与5.7的编译安装差异主要是初始化不同

5.7初始化完成后,会自动设置一个初始密码,而5.6没有

MySQL5.6编译安装部署

1、安装依赖包

依赖包

yum install -y ncurses-devel libaio-devel

安装cmake

yum install cmake -y

安装依赖

2、创建管理用户

useradd -s /sbin/nologin -M -u  mysql

最好指定好uid,对管理数据库有好处

3、解压安装

找到下载的mysql包所在路径,然后进行解压,软件包尽量去官方网站下载

tar zxf mysql-5.6..tar.gz

解压完成后,使用 cd 进入解压好的mysql目录中,进行cmake

cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6. \
-DMYSQL_DATADIR=/application/mysql-5.6./data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6./tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_FEDERATED_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE= \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE= \
-DWITH_EMBEDDED_SERVER= \
-DENABLE_DOWNLOADS= \
-DWITH_DEBUG=

cmake

cmake安装过程做了什么呢?

(1)定制功能:存储引擎、字符集、压缩等

(2)定制安装位置、数据存放位置、文件位置

4、进行编译安装

make && make install 

这两步完成后然后创建软连接,这样在使用mysql的时候方便

ln -s /application/mysql-5.6./ /application/mysql

5、初始化及配置数据库

这步做的主要是指定mysql的管理用户,程序路径,数据存储路径

如果不设置管理用户为mysql会导致启动报错

对于mysql的 my.cnf 配置文件参数优化与解释请参照:http://www.cnblogs.com/lyq863987322/p/8074749.html

\cp /application/mysql/support-files/my*.cnf /etc/my.cnf     ### 将配置文件复制到/etc下,可以不用复制

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data --user=mysql 

6、设置mysql目录权限

chown -R mysql.mysql /application/mysql/

将启动文件复制到/etc/init.d下,方便启动关闭管理,并启动

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod /etc/init.d/mysqld
/etc/init.d/mysqld start

7、设置命令环境变量

这一步就是对于博主这种比较懒得人有好处了,以后在登陆的时候就不用在将mysql的详细路径打一遍了

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile   --- 将mysql命令路径添加到环境变量配置文件
tail - /etc/profile ----- 查看添加结果
source /etc/profile ----- 有结果了,执行这一步让环境变量生效
echo $PATH      --- 不放心可以再检查一下生效了没有
mysql ----- 这样就可以直接登陆了

这样mysql5.6就已经安装完成了,默认的登陆是没有密码

设置/修改密码:

mysqladmin -u root password ''

mysql -uroot -p123456

MySQL5.7二进制安装部署

1、解压mysql二进制包

tar xf mysql-5.7.-linux-glibc2.-x86_64.tar.gz

2、将解压完的mysql目录移动到程序目录(自己设置放哪)

并且设置软连接

mv mysql-5.7.-linux-glibc2.-x86_64 /application/mysql-5.7.17
ln -s /application/mysql-5.7.17 /application/mysql

3、创建管理用户,并授权

useradd -s /sbin/nologin -M -u  mysql
chown -R mysql.mysql /application/mysql-5.7.

4、初始化配置数据库

/application/mysql-5.7./bin/mysqld --initialize --user=mysql --basedir=/application/mysql-5.7. --datadir=/application/mysql-5.7./data

执行初始化的输出信息:最后一行有初始密码,一定要先记住

--20T08::.604818Z  [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
--20T08::.828187Z [Warning] InnoDB: New log files created, LSN=
--20T08::.164378Z [Warning] InnoDB: Creating foreign key constraint system tables.
--20T08::.389472Z [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e7a07703-e55c-11e7-b24e-000c29c5641d.
--20T08::.391108Z [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
--20T08::.827938Z [Note] A temporary password is generated for root@localhost: *:vQq%O:E6dD

5、拷贝配置文件和启动文件

对于mysql的 my.cnf 配置文件参数优化与解释请参照:http://www.cnblogs.com/lyq863987322/p/8074749.html

cp /application/mysql-5.7./support-files/my-default.cnf /etc/my.cnf

cp /application/mysql-5.7./support-files/mysql.server /etc/init.d/mysqld

6、修改启动文件内容

因为启动文件中指定的mysql程序路径与安装路径不同,所以需要改过来

sed 's#/usr/local#/application#g' /application/mysql-5.7./bin/mysqld_safe /etc/init.d/mysqld -i

7、配置环境变量

echo 'PATH=/application/mysql/bin/:$PATH' >>/etc/profile
tail - /etc/profile
source /etc/profile
echo $PATH

8、安装完成修改密码登陆

[root@baba tools]# mysqladmin -uroot -p password ''
Enter password:
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety. [root@baba tools]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. MySQL Community Server (GPL) Copyright (c) , , Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

安装完成

Linux中MySQL5.6编译安装与MySQL5.7二进制安装步骤的更多相关文章

  1. 在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序

    在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=vie ...

  2. Linux中 cmake-3.x 编译安装以及man page添加

    首先回顾一下 cmake-2.x 的编译安装. ================ cmake-2.x编译安装说明 ================编译安装的命令: ./bootstrap --pref ...

  3. Linux中tcpdump的编译和使用

    tcpdump官网:http://www.tcpdump.org/ 转载于:http://www.cnblogs.com/hzl6255/p/6147985.html 目录 1. 介绍 2. 编译 2 ...

  4. linux 中部署ant编译的包中缺少问题

    今天遇到在window上部署ant编译的包,能运行正常,但部署在linux中出现跳不进jsp中,出现404问题,后来经过排查在jsp中<%@taglib prefix="c" ...

  5. Linux下如何自己编译源代码(制作成可以安装的.deb文件)

    以tree实用程序(以树型结构获取目录树)为例,介绍Ubuntu中如何管理源码包,包括查询,获取,编译源码包,直至安装.   1) 在获取源码包之前,确保在软件源配置文件/etc/apt/source ...

  6. 在linux中使用cmake编译运行cocos2d-x 3.4 projects

    原因: 由于不想在真机环境和 ide中调试环境, 只想在linux端进行 调试和运行, 需要使用cmake对现有的游戏进行编译(cocos2dx-lua 3.4) 修改步骤: 1.修改framewor ...

  7. 如何在linux中从源代码编译安装nodejs?

    $ sudo yum groupinstall 'Development Tools'安装开发环境$ wget https://nodejs.org/dist/v0.12.2/node-v0.12.2 ...

  8. Linux中命令行编译java接口总是提示找不到符号的疑难杂症的解决

    今天学习java的接口,在linux的命令行下写代码练练手吧,啪啪啪一顿猛敲,写了一个接口UsbInserface,UDisk继承UsbInterface,写完了那就编译到bin目录呗. 当时写程序的 ...

  9. linux中使用vim编译C++程序

    Vi三种模式详解 命令行模式 (command mode/一般模式) 任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式:我们在shell环境(提示符为$)下输入启动Vi ...

  10. Linux中使用gcc编译文件

    一个项目中可能有多个cpp文件,在linux下编译执行过程如下: g++ main.cpp distance.cpp ./a.out 即可一起编译两个文件,然后执行该程序.

随机推荐

  1. Problem A

    Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum ...

  2. grunt任务自动管理

    Grunt管理工具使用: 一.模块安装 1.在项目的根目录里新建package.json文件,形式如下,指定依赖的库以及版本信息. 2.然后在项目根目录下,执行 npm install ,安装json ...

  3. 移动端车牌识别sdk开发包(可下载)

    移动端车牌识别是一项基于OCR识别的应用技术.移动端车牌识别过程主要包含五个步骤,其中包括图像采集.图像预处理.车牌定位.字符分割.字符识别.输出结果等一系列计算机算法运算, 第一步[图像采集]:此步 ...

  4. windows下配置wampserver

    第一,打开局域网访问 配置文件:点击右下角的WAMP 服务器小托盘,选择Apache>httpd.conf 搜索关键字 "deny from ",会发现一处 "de ...

  5. OpenCASCADE BRepMesh - 2D Delaunay Triangulation

    OpenCASCADE BRepMesh - 2D Delaunay Triangulation eryar@163.com Abstract. OpenCASCADE package BRepMes ...

  6. 【5】namenode启动过程

    1.格式化空间(第一次启动的操作): 命令:bin/hadoop -format //用于格式化HDFS,如果不是首次格式化,需要删除下面配置的tmp目录后再进行core-site.xml的配置: / ...

  7. SQL中锁表语句简单理解(针对于一个表)

    锁定数据库的一个表 复制代码代码如下: SELECT * FROM table WITH (HOLDLOCK) 注意: 锁定数据库的一个表的区别 复制代码代码如下: SELECT * FROM tab ...

  8. c#params应用

    params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候. 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允 ...

  9. 深入理解Postgres中的cache

    众所周知,缓存是提高数据库性能的一个重要手段.本文着重讲一讲PostgreSQL中的缓存相关的东西.当然万变不离其宗,原理都是共同的,理解了这些,你也很容易把它运用到其它数据库中. What is a ...

  10. Vuex非常适合新手的教程,保教不会!

    本讲解基于Vue-cli(脚手架)搭建的项目. Vuex 数据状态管理工具,整个流程类似依赖注入,相当于预先定义,倒推.(个人理解) 1. 安装vuex  命令行输入 npm install vuex ...