MySQL的历史演变:
1985 年,瑞典的几位志同道合小伙子成立了一家公司,这就是MySQL AB 的前身
1996年年初,MySQL 1.0发布
1996年10月,MySQL 3.11.1发布了,中间没有2.x版本。
1999-2000年,有一家公司在瑞典成立了,叫MySQL AB。
在2000 年的时候,MySQL 公布了自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。
2000年4月,MySQL对旧的存储引擎进行了整理,命名为MyISAM。
2005年10月,有发布了里程碑的一个版本,MySQL 5.0. 在5.0中加入了游标,存储过程,触发器,视图和事务的支持。
2008年1月16号 MySQL被Sun公司收购。
2009年04月20日Oracle收购Sun 公司,MySQL 转入Oracle 门下。
Oracle 对MySQL版本重新进行了划分,分成了社区版和企业版,企业版是需要收费的,当然收费的就会提供更多的功能。
MySQL分支产生的背景:
MySQL在Oracle下将如何发展仍不太确定。Oracle控制MySQL产品本身,并领导社区开发新的成品。由于Oracle已经有了一个商业数据库,因此人们担心他们可能没有足够的资源来使MySQL保持其领先地位。因此,许多分支也是这些潜在担心所产生的结果,他们担心MySQL作为领先的免费开源数据库提供的功能可能太少、发布周期太慢并且支持费用更昂贵。
目前为止有三个久经考验的主流分支:
存储引擎:
支持事务:
XtraDB存储引擎介绍:
XtraDB是由Percona开发的一款MySQL数据库的高性能存储引擎,其目的是用来代替InnoDB存储引擎,可用于需要更高性能的环境。XtraDB可以看作是InnoDB存储引擎的增强版本,它在InnoDB上进行了大量的修改和补丁,它完全兼容InnoDB,且提供了很多InnoDB不具备的有用的功能。
Percona Server 介绍:
Percona Server由领先的MySQL咨询公司Percona发布。Percona Server声称可以完全与MySQL兼容,因此从理论上讲,您无需更改软件中的任何代码。这确实是一个很大的优势,适合在您寻找快速性能改进时控制质量。因此,采用Percona Server的一个很好的理由是,利用XtraDB引擎来尽可能地减少代码更改。
此外,他们是XtraDB存储引擎的原作者。Percona将此代码用作开源代码,因此您可以在其他产品中找到它,引擎的最初创建者与编写此产品的是同一个人,所以您可以随心所欲地使用此信息。
Percona Server 与 MySQL 的比较:
Percona XtraDB Cluster简介:
Percona XtraDB Cluster特性:
Percona XtraDB Cluster架构图:
Percona XtraDB Cluster的优势:
PXC与MySQL Replication区别:
分布式系统的CAP理论:
任何一个分布式系统,需要满足这三个中的两个。
因此MySQL Replication并不保证数据的一致性,而Percona XtraDB Cluster提供数据一致性。
Percona XtraDB Cluster的限制:
PXC事务处理流程图:
Percona XtraDB Cluster重要参数:
binlog_format = ROW
innodb_data_file_path = ibdata1:1024M:autoextend
innodb_locks_unsafe_for_binlog = 1
innodb_autoinc_lock_mode = 2
wsrep_cluster_name = MySQL_Cluster
wsrep_cluster_address = gcomm://192.168.1.101,192.168.1.102
wsrep_node_address = 192.168.1.100
wsrep_provider = /usr/lib64/libgalera_smm.so
wsrep_sst_method = xtrabackup-v2
wsrep_sst_auth = sstuser:secret
wsrep_slave_threads = 8
Percona的优势产品:
开源,免费。支持热备份,增量备份
开源,免费。现有的32个命令,可以分为7大类:开发,性能,配置,监控,复制,系统,实用
nagios,cacti,zabbix
InnoDB 数据库的数据恢复工具