• 【MySQL】MySQL无基础学习和入门之二:MySQL的安装


    安装
    MySQL安装一般分为源码包编译安装、分发包、rpm包安装和yum安装,四种安装方式有一些区别,对应的适用场景也不一样。

    源码包:源码包就是程序源代码包,其中包含程序代码文件,这些代码文件是文本型,可以直接通过编辑器打开阅读内容,这里的程序还不能直接使用,因为操作系统和电脑无法直接调用文本代码,需要语言编译器将文本代码编译成二进制文件,编译完成的输出就是分发包。Windows系统安装软件时经常会出现一个自定义安装的选项,用户可以自主选择软件部分功能安装,取消安装不需要的组件,增加安装默认组件外的可选功能,在Linux系统上是通过编译参数控制软件自带功能的安装,稍后在编译安装MySQL时会举例说明。如果有C/C++语言功底我推荐网易研究院姜承尧的《MySQL内核:InnoDB存储引擎(卷1)》这本书,主要是对InnoDB存储引擎的功能实现分析。

    分发包:分发包是通过源码包编译完成的软件,可以直接使用,像Windows系统中的软件绿色版,解压即可用,所以在上面罗列四中安装方式时只有分发包没有“安装”两字。由于在公司生产环境中可能会出现Linux服务器版本不同、底层c和c++等语言库版本不同,可以根据系统环境版本及稳定性的需要选择源码包编译安装,或直接使用分发包。源码包编译安装可以根据自己需要选择开启或关闭一些功能,分发包由于是已经编译好的,无法再进行选择和调整,除非使用源码包修改编译参数再编译。

    rpm安装:rpm包安装不用编译,可以从MySQL官网下载rpm包。下载好rpm包后使用rpm命令安装,相比较源码包编译和分发包更简单。

    yum安装:Linux系统的yum命令支持最简单、快捷的软件安装方式,当Linux系统联网且yum源配置好,可以使用“yum install”加软件包名就可以安装该软件以及相关所需要的环境软件,安装MySQL执行“yum install mysql-server mysql”即可(yum支持同时安装多个软件包,例如mysql-server和mysql实际在yum源中是两个部分,mysql-server是MySQL的服务端功能包,mysql是客户端功能包)。

    对于上面提到的源码编译安装、分发包、rpm和yum安装下面会介绍更多,但是对于系统层面的“rpm”和“yum”命令可以去网上搜索了解更多。

     

    官网下载
    MySQL官方下载地址:http://dev.mysql.com/downloads/mysql/
    在下载页面中:
      “Select Platform”的“Source Code”是源码包
      “Linux - Generic”是官方分发包
      “Red Hat EnterPrise Linux/Oracle Linux”中下载rpm包

     

    源码包编译安装

    #需要先安装cmake,如果没有配置yum源可以编译安装(MySQL5.5以后需要cmake的编译环境)

    [root@Centos6.3.2 ~]# yum -y install cmake.x86_64

    #下载源码包(如果系统可以上网直接wget下载,如果是虚拟机可以在实体机下载好在虚拟机总使用“rz”命令或者实体机中的SecureFX上传)

    [root@Centos6.3.2 ~]# cd /
    [root@Centos6.3.2 ~]# wget http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48.tar.gz

    #解压源码包

    [root@Centos6.3.2 /]# tar -zxvf mysql-5.5.48.tar.gz

    #进入源码包目录

    [root@Centos6.3.2 /]# cd mysql-5.5.48

    #cmake源码参数
    #注意参数“-DCMAKE_INSTALL_PREFIX=”控制MySQL源码编译完软件放置的路径,通常情况用户自主安装的软件放置在“/usr/local/”下
    #参数“-DWITH_INNOBASE_STORAGE_ENGINE=1”说明开启InnoDB引擎
    #参数“-DDEFAULT_CHARSET=utf8”说明默认使用的字符集为utf8(字符集不在这里解释)
    #配置编译参数(编译参数很多,熟悉安装和MySQL功能后可以自己查询学习)

    [root@Centos6.3.2 mysql-5.5.48]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8

    #进行编译

    [root@Centos6.3.2 mysql-5.5.48]# make && make install

    #编译完成后可以查看安装完成的软件如下

    #bin路径下都是MySQL的命令,包含MySQL启动、停止、备份等命令
    #include、lib等路径下都是MySQL底层编译完成的类库文件
    #scripts下面有初始化MySQL的脚本,每个MySQL都需要初始化建立最基础的系统表及用户表(也可以使用相同版本的初始化文件在其他未初始化实例中使用,就可以省略执行初始化脚本) 

    [root@test1 mysql-5.5.48]# ll /usr/local/mysql
    total 200
    drwxr-xr-x 2 root root 4096 Oct 21 15:19 bin
    -rw-r--r-- 1 root root 17987 Mar 15 2014 COPYING
    drwxr-xr-x 3 root root 4096 Sep 6 09:32 data
    drwxr-xr-x 2 root root 4096 Sep 6 09:32 docs
    drwxr-xr-x 3 root root 4096 Sep 6 09:32 include
    -rw-r--r-- 1 root root 133770 Mar 15 2014 INSTALL-BINARY
    drwxr-xr-x 3 root root 4096 Sep 6 09:32 lib
    drwxr-xr-x 4 root root 4096 Sep 6 09:32 man
    drwxr-xr-x 10 root root 4096 Sep 6 09:32 mysql-test
    -rw-r--r-- 1 root root 2496 Mar 15 2014 README
    drwxr-xr-x 2 root root 4096 Oct 22 17:57 scripts
    drwxr-xr-x 27 root root 4096 Sep 6 09:32 share
    drwxr-xr-x 4 root root 4096 Sep 6 09:32 sql-bench
    drwxr-xr-x 3 root root 4096 Sep 6 09:32 support-files

    上面编译完成后在/usr/local/mysql中的文件,基本就是分发包解压后的文件(由于编译参数不同,文件基本一样,但是文件内容存在差异)。

    由于编译安装之后的操作过程与分发包后续操作基本相同,所以分发包使用的操作不单独说明,部分区别后续会与编译安装操作分开说明。

    分发包下载地址:http://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.48-linux2.6-x86_64.tar.gz

    分发包下载后可以直接放在/usr/local/路径下解压,也可以在别的路径下解压直接使用。

    rpm安装

    MySQL-client下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-client-5.5.48-1.linux2.6.i386.rpm
    MySQL-server下载:http://cdn.mysql.com//Downloads/MySQL-5.5/MySQL-server-5.5.48-1.linux2.6.i386.rpm

    下载好rpm包后,使用rpm命令安装(rpm命令其他参数请自己查询学习)

    [root@test /]# rpm -ivh MySQL-client-5.5.48-1.linux2.6.i386.rpm
    [root@test /]# rpm -ivh MySQL-server-5.5.48-1.linux2.6.i386.rpm

    如果没有报错就说明安装成功。

    yum安装


  • 相关阅读:
    java BufferedImage 合成多张图片
    JQ 输入框控制输入
    SpringBoot读取静态资源文件
    Java获取永久图文素材中的网页端Url
    生成随机32位Token43位asekey
    SQL语句模糊查询年月
    go语言学习笔记3----流程控制
    go语言学习笔记2----变量、常量
    go语言学习笔记1----数据类型
    kettle抽取数据判断是否有数据
  • 原文地址:https://www.cnblogs.com/jiangxu67/p/5268971.html
Copyright © 2020-2023  润新知