随着时间的推移,开源数据库在中低端应用中逐渐流行起来,占据了很大的市场份额。开源数据库具有免费使用、配置简单、稳定性好、性能优良等特点,而MySQL数据库正是开源数据库中的杰出代表。  
> 开源全称为“开放源代码”。很多人认为开源软件最明显的特点是免费,但实际上并不是这样的,开源软件最大的特点应该是开放,也就是任何人都可以得到软件的源代码。可以在源代码的基础上加以修改学习,甚至重新发放,当然是在版权限制范围之内。不清楚的读者可以参考《开源就等于免费吗?用事实来说话》一节。
MySQL是最流行的数据库之一,是一个免费开源的关系型数据库管理系统,但也不意味着该数据库是完全免费的。MySQL 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 适合中小型软件,被个人用户以及中小企业青睐。  
  
针对不同的用户,MySQL 分为两个版本:
1.  MySQL Community Server(社区版):该版本是自由下载且完全免费的,但是官方不提供技术支持。
2.  MySQL Enterprise Server(企业版):该版本是收费的,而且不能下载,但是该版本拥有完善的技术支持(官方提供电话技术支持)。
  
注意:MySQL Cluster 主要用于架设群服务器,需要在社区服务或企业版的基础上使用。  
  
MySQL 的命名机制由 3 个数字和 1 个后缀组成,例如 mysql-5.7.20:
*   第 1 个数字“5”是主版本号,用于描述文件的格式,所有版本 5 的发行版都有相同的文件夹格式。
*   第 2 个数字“7”是发行级别,主版本号和发行级别组合在一起便构成了发行序列号。
*   第 3 个数字“20”是在此发行系列的版本号,随每次新发行的版本递增。通常选择已经发行的最新版本。
  
在 MySQL 开发过程中,同时存在多个发布系列,每个发布系列的成熟度处在不同阶段。
*   MySQL 5.7 是最新开发的稳定(GA)发布系列,是将执行新功能的系列,目前已经可以正常使用。
*   MySQL 5.6 是比较稳定的(GA)发布系列,只针对漏洞修复重新发布,不增加会影响稳定性的新功能。
*   MySQL 5.1 是一个稳定的(产品质量)发布系列,只针对严重漏洞修复和安全修复重新发布,不增加影响该系列稳定性的重要功能。
> 注意:对于 MySQL 4.1 等低于 5.0 的老版本,官方将不再提供支持。所有发布的 MySQL 版本已经经过严格标准的测试,可以保证其安全可靠地使用。针对不同的操作系统,读者可以在MySQL官方下载页面([http://dev.mysql.com/downloads/](http://dev.mysql.com/downloads/))下载相应的安装文件。
## MySQL的特点、优势
MySQL 数据库管理系统具有很多的优势,下面总结了其中几种。
#### 1)MySQL 是开放源代码的数据库
MySQL 是开放源代码的数据库,任何人都可以获取该数据库的源代码。这就使得任何人都可以修正 MySQL 的缺陷,并且任何人都能以任何目的来使用该数据库。MySQL 是一款可以自由使用的数据库。  
#### 2)MySQL 的跨平台性
MySQL 不仅可以在 Windows 系列的操作系统上运行,还可以在 UNIX、Linux 和 Mac OS 等操作系统上运行。因为很多网站都选择 UNIX、Linux 作为网站的服务器,所以 MySQL 的跨平台性保证了其在 Web 应用方面的优势。虽然微软公司的 SQL Server 数据库是一款很优秀的商业数据库,但是其只能在 Windows 系列的操作系统上运行。因此,MySQL 数据库的跨平台性是一个很大的优势。  
#### 3)价格优势
MySQL 数据库是一个自由软件,任何人都可以从 MySQL 的官方网站上下载该软件,这些社区版本的 MySQL 都是免费试用的,即使是需要付费的附加功能,其价格也是很便宜的。相对于 Oracle、DB2 和 SQL Server 这些价格昂贵的商业软件,MySQL 具有绝对的价格优势。
#### 4)功能强大且使用方便
MySQL 是一个真正的多用户、 多线程 SQL 数据库服务器。它能够快速、有效和安全的处理大量的数据。相对于 Oracle 等数据库来说,MySQL 的使用是非常简单的。MySQL 主要目标是快速、健壮和易用。  
  
MySQL 与常用的主流数据库 Oracle、SQL Server 相比,主要特点就是免费,并且在任何平台上都能使用,占用的空间相对较小。但是,MySQL 也有一些不足,比如对于大型项目来说,MySQL 的容量和安全性就略逊于 Oracle 数据库。
                    
        - 数据库入门
 - 1.常用的数据库
 - 2.数据管理技术的3个发展阶段
 - 3.数据库是什么?关系型数据库和非关系型数据库又是什么?
 - 4.为什么要使用数据库?
 - 5.数据库系统是什么?它由哪几部分组成?
 - 6.常用数据库访问接口简介
 - 7.数据库的种类有哪些?
 - 8.几种常用的数据库
 - 9.MySQL是什么
 - 10.MySQL适用于哪些场景?
 - 11.学MySQL前,需要了解这些数据库专业术语
 - 12.MySQL客户端和服务器架构(C/S架构)
 - 13.明白了MySQL内部结构才能成为高手!
 - 14.如何学习数据库(新手必看)?
 - 15.小白学习MySQL需要多长时间,能从事哪方面的工作?
 - 16.当前市场对数据库程序员的需求如何?待遇如何?
 - 17.DBA到底要做什么,成为一名DBA需要具备什么能力?
 - 一、数据库的概念和常用工具
 - 二、MySQL规范、配置及登录退出操作
 - 三、MySQL中的数据类型
 - 四、数据库增查改删等操作
 - 五、数据表增查改删操作
 - 六、MySQL数据增查改删操作
 - 七、MySQL存储引擎
 - 八、MySQL常用函数
 - MySQL的安装和配置
 - 1.MySQL 5.7的新特性(新功能)
 - 2.MySQL下载步骤详解
 - 3.MySQL安装配置教程(Windows系统)
 - 4.MySQL免安装版配置教程
 - 5.MySQL配置环境变量
 - 6.安装MySQL后,如何判断是否已安装成功
 - 7.启动MySQL服务的两种方式(图解)
 - 8.登录MySQL数据库
 - 9.对Linux MySQL软件包的一些说明
 - 10.Linux CentOS卸载MySQL(Linux安装MySQL前的准备)
 - 11.Linux安装配置MySQL详细步骤
 - 12.MySQL my.cnf配置文件详解
 - 13.MySQL常用图形化管理工具
 - 14.MySQL安装后的目录结构介绍
 - 15.MySQL数据库文件存放目录结构详解
 - 16.MySQL配置文件(my.ini)详解
 - 17.与其它数据库不同,MySQL可以在不同的SQL模式下运行
 - 18.MySql Command Line Client闪退原因及解决方案
 - MySQL数据库的基本操作
 - 1.SQL是什么?它能做什么?
 - 2.SQL的基本书写规则
 - 3.MySQL查看或显示数据库(SHOW DATABASES语句)
 - 4.MySQL创建数据库(CREATE DATABASE语句)
 - 5.MySQL修改数据库:ALTER DATABASE用法简介
 - 6.MySQL删除数据库(DROP DATABASE语句)
 - 7.MySQL选择数据库(MySQL USE语句)
 - 8.MySQL注释:单行注释和多行注释
 - 9.MySQL中SQL语句的大小写规则
 - 10.如何查看MySQL系统帮助?
 - 11.看懂SQL错误代码,提高学习效率!
 - 数据库高级
 - 一、视图的操作
 - 二、触发器的操作
 - 三、事务的操作
 - 四、索引的操作
 - 五、存储过程的操作
 - 六、数据库的优化方案
 - 1.分库、分表和索引
 - 2.读写分离和查询优化
 - 3.join代替子查询
 - 4.尽量使用短小的事务
 - 5.常用小技巧
 - MySQL使用注意事项
 - 1.字符乱码及连接驱动
 
