安装
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..tar.gz

#进入源码包目录

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

#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.]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_MYISAM_STORAGE_ENGINE= -DWITH_INNOBASE_STORAGE_ENGINE= -DDEFAULT_CHARSET=utf8

#进行编译

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

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

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

[root@test1 mysql-5.5.]# ll /usr/local/mysql
total
drwxr-xr-x root root Oct : bin
-rw-r--r-- root root Mar COPYING
drwxr-xr-x root root Sep : data
drwxr-xr-x root root Sep : docs
drwxr-xr-x root root Sep : include
-rw-r--r-- root root Mar INSTALL-BINARY
drwxr-xr-x root root Sep : lib
drwxr-xr-x root root Sep : man
drwxr-xr-x root root Sep : mysql-test
-rw-r--r-- root root Mar README
drwxr-xr-x root root Oct : scripts
drwxr-xr-x root root Sep : share
drwxr-xr-x root root Sep : sql-bench
drwxr-xr-x root root Sep : 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.-.linux2..i386.rpm
[root@test /]# rpm -ivh MySQL-server-5.5.-.linux2..i386.rpm

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

yum安装


【MySQL】MySQL无基础学习和入门之二:MySQL的安装的更多相关文章

  1. 【MySQL】MySQL无基础学习和入门之一:数据库基础概述和实验环境搭建

    数据库基础概述  大部分互联网公司都选择MySQL作为业务数据存储数据库,除了MySQL目前还有很多公司使用Oracle(甲骨文).SQLserver(微软).MongoDB等. 从使用成本来区分可以 ...

  2. 【MySQL】MySQL无基础学习和入门大纲

    一.安装 1.yum安装 2.分发包安装 3.配置文件 4.初始化数据库 二.启动 1.service mysqld start默认配置启动 2.mysqld_safe方式加载配置文件启动 3.mys ...

  3. MySQL数据库的基础学习

    1.什么是数据库 用来存储数据的仓库,简称数据库; 数据库可以在硬盘和内存中存储数据 数据库存储数据的本质: 通过文件来存储数据 2.数据库存储数据与文件存储的区别 (1).一个文件仅仅只能存储在一个 ...

  4. {MySQL存储引擎介绍}一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用

    MySQL存储引擎介绍 MySQL之存储引擎 本节目录 一 存储引擎解释 二 MySQL存储引擎分类 三 不同存储引擎的使用 一 存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是 ...

  5. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  6. salesforce零基础学习(八十二)审批邮件获取最终审批人和审批意见

    项目中,审批操作无处不在.配置审批流时,我们有时候会用到queue,related user设置当前步骤的审批人,审批人可以一个或者多个.当审批人有多个时,邮件中获取当前记录的审批人和审批意见就不能随 ...

  7. python基础学习24----使用pymysql连接mysql

    使用pymysql连接mysql 安装pymysql pymysql安装可以通过两种方式 使用pip安装 首先简单说一下pip的使用方法 获取帮助 pip --help 升级 pip pip inst ...

  8. R基础学习(一)-- 连接mysql数据库

    测试环境:win10+RStudio (1)在Console加载两个插件 >install.packages('DBI') Installing package into ‘C:/Users/l ...

  9. 2019-9-17:渗透测试,基础学习,apache初识,mysql初识等笔记

    python -m SimpleHTTPServer gedit 文本编辑器 apache2 默认配置文件目录:/etc/apache2/apache2默认首页源码: /var/www/html my ...

随机推荐

  1. angular2 的依赖注入

    angular2 的依赖注入包含了太多的内容,其中的一个重点就是注入器,而注入器又非常难理解,今天我们不深入介绍注入器的内容,可以参考官方文档,我们今天来说注入器的层级. 也就是组件获取服务的容器会选 ...

  2. suibi 117

    -Djava.net.preferIPv4Stack=true re.findall(r"^(\d+)" , content) content = content.replace( ...

  3. weinre 手机端页面调试

    Weinre代表 Web Inspector Remote,是一种远程调试工具, 采用nodejs做为http服务器,用ajax通信 nodejs 官网 weinre官网 1.安装nodejs  会自 ...

  4. 简单数据访问类,生成简单SQL,自动转换成java对象

    import java.util.HashMap; import java.util.List; import java.util.Map; import org.slf4j.Logger; impo ...

  5. 用happen-before规则重新审视DCL(转)

    编写Java多线程程序一直以来都是一件十分困难的事,多线程程序的bug很难测试,DCL(Double Check Lock)就是一个典型,因此对多线程安全的理论分析就显得十分重要,当然这决不是说对多线 ...

  6. systick优先级的理解

    sysTick系统嘀嗒定时器并非STM32独有的,它是Cortex内核的部分,CM3为它专门开出一个异常类型,并且在中断向量表中占有一席之地(异常号15).这样它可以很方便的移植到不同厂商出CM3内核 ...

  7. JAVA 想让类无法new,可以使用private将类的构造函数改为私有的,这样new的时候就会报错了

    JAVA 想让类无法new,可以使用private将构造函数改为私有的,这样new的时候就会报错了 主要用于,静态工具类,静态类不需要new,直接使用   类名.静态方法  即可调用 class D{ ...

  8. iOS 图片拉伸 resizableImageWithCapInsets

    UIImage *image =  [[UIImage imageNamed:@"test.png"] resizableImageWithCapInsets:UIEdgeInse ...

  9. 多窗体之间方法调用 z

    C# Code: /// <summary> /// 主窗体接口 /// </summary> public interface IMdiParent{   void Pare ...

  10. windows service的作成

    http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html