MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。mysql
MySQL为何会如此流行呢?由于它有如下特色:sql
MySQL官网:https://www.mysql.com。数据库
目前流行的MySQL分支发行版有Percona Server和MariaDB。缓存
Percona Server是由领先的MySQL咨询公司Percona发布的一款基于MySQL的关系型数据库,是一款独立的数据库产品,与MySQL彻底兼容。在众多MySQL分支发行版中是最为接近官方MySQL Enterprise的版本。安全
Percona Server使用自行开发的XtraDB引擎;Percona Server在可管理性和稳定性上较MySQL都有必定的提高;Percona Server仍是开源和免费的软件,而官方的MySQL Enterprise则是收费版本。服务器
Percona公司还提供了其余诸如高可用、数据库管理和备份等解决方案,官网:https://www.percona.com。架构
MariaDB由MySQL的创始人Michael Widenius主导开发。先前其曾将本身建立的公司MySQL AB出售给了SUN,随后SUN被Oracle收购,Michael Widenius不满于Oracle有将MySQL闭源的潜在风险因此开发了MariaDB。 并发
MariaDB当前主要由开源社区进行维护,采用GPL受权许可;MariaDB的目的是彻底兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品;在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。 ide
MariaDB官网:https://mariadb.org。 spa
MySQL经常使用的存储引擎有MyISAM和InnoDB。
在MySQL 5.5以前的版本,默认使用的是MyISAM引擎,而从MySQL 5.5开始,已将默认存储引擎从MyISAM改成InnoDB。
两种存储引擎的大体区别在于:
使用InnoDB存储引擎,MySQL会将以.frm结尾的表结构文件存放于数据存储目录下以数据库命名的目录中;而数据库中的数据、索引和元数据都会被存储在数据存储目录下的ibdata1文件中;在MySQL的数据存储目录下还存在名为ib_logfile0和ib_logfile1的文件(文件大小能够设置,可设置镜像),这两个文件为事务日志(redo log),用于记录数据库操做的变化,用于事务的回滚操做,这两个文件的写入规则为:先写ib_logfile0,写满后写ib_logfile1,在ib_logfile1写满后再返回写ib_logfile0。
MyISAM引擎会将数据所有放置在MySQL数据存储目录中以数据库命名的目录下,名称以表名表示,经过后缀区分不一样的文件:.frm为表结构文件;.myd为数据存储文件;.myi为索引文件