目录
大家好,我是哪吒。
一、为何要使用MySQL?
MySQL是一种流行的开源关系型数据库。
MySQL有以下几个优势:
- 开源免费;
- 跨平台性,MySQL可以运行在各种系统上,比如Windows、Linux、Mac,让它适合作为跨平台应用程序的数据库;
- 高可靠性,支持事务、数据备份、恢复等功能,保证数据的高可靠性;
- 高性能,具备高效的数据处理能力和并发控制机制,支持大量的数据读写操作;
- 安全性,MySQL支持用户名密码验证,保证数据安全,提供加密传输、IP白名单等安全功能,加强了数据的保护;
综上所述,MySQL是一款免费的、跨平台性、高可靠性、高性能、安全性高的关系型数据库。
将数据存储到MySQL,也称为数据持久化,数据持久化意味着将内存中的数据保存到硬盘上存储,保证程序重启之后的数据不丢失。
二、MySQL学习路线
三、数据库相关概念
1、DB,数据库Database。
存储数据的仓库,其本质是一个文件系统。
2、DBMS,数据库管理系统Database Management System。
DBMS是一种操作数据和管理数据的软件系统,用于存储、使用、维护、管理、监控的一体化数据管理工具。
3、SQL,结构化查询语言,Structured Query Language。
专门用来与数据库通信的语言。
四、常见的关系型数据库
1、MySQL
MySQL是一个流行的开源关系型数据库管理系统,由Oracle公司维护。它具有良好的性能、可伸缩性和安全性,并被广泛应用于Web应用程序和企业级应用程序等领域。
2、Oracle
Oracle数据库是一种商业级的关系型数据库管理系统,由Oracle公司维护。它具有高度的可靠性和扩展性,并且支持多种操作系统和平台。
3、SQL Server
SQL Server是微软公司的关系型数据库管理系统,它针对Windows平台进行了优化,提供了高度的可靠性和安全性,并且与其他微软产品具有良好的集成性。
4、PostgreSQL
PostgreSQL是一种免费的开源关系型数据库管理系统,它具有良好的性能和可扩展性,支持高级特性如复制、分区和自定义函数等。
五、MySQL和Oracle的区别
一般情况下,MySQL和Oracle是用的最多的数据库,MySQL和Oracle最大的区别在于
1、MySQL免费,Oracle是收费的,而且非常贵;
2、MySQL体积小,速度快、成本低,一般中小型企业都会选择MySQL;Oracle更适合大型项目,适合大型互联网公司使用,Oracle的性能和安全性更高一些;
3、数据安全性
MySQL使用三个参数来验证用户,即用户名,密码和位置;Oracle使用了许多安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等。
4、MySQL和Oracle的字符数据类型不同,对于字符类型
MySQL具有CHAR和VARCHAR,最大长度允许为65,535字节;Oracle支持四种字符类型,即CHAR,NCHAR,VARCHAR2和NVARCHAR2; 所有四种字符类型都需要至少1个字节长; CHAR和NCHAR最大可以是2000个字节,NVARCHAR2和VARCHAR2的最大限制是4000个字节。可能会在最新版本中进行扩展。
5、临时表的区别
在MySQL中,临时表是仅对当前用户会话可见的数据库对象,并且一旦会话结束,这些表将自动删除。Oracle中临时表的定义与MySQL略有不同,因为临时表一旦创建就会存在,直到它们被显式删除,并且对具有适当权限的所有会话都可见。但是,临时表中的数据仅对将数据插入表中的用户会话可见,并且数据可能在事务或用户会话期间持续存在。
6、MySQL和Oracle中的备份类型
Oracle提供不同类型的备份工具,如冷备份,热备份,导出,导入,数据泵。Oracle提供了最流行的称为Recovery Manager(RMAN)的备份实用程序。使用RMAN,我们可以使用极少的命令或存储脚本自动化我们的备份调度和恢复数据库。
MySQL有mysqldump和mysqlhotcopy备份工具。在MySQL中没有像RMAN这样的实用程序。
六、MySQL发展历程
MySQL的历史可以追溯到1979年,一个名为Monty Widenius的程序员在为TcX的小公司打工,并且用BASIC设计了一个报表工具,使其可以在4MHz主频和16KB内存的计算机上运行。当时,这只是一个很底层的且仅面向报表的存储引擎,名叫Unireg。
1990年,TcX公司的客户中开始有人要求为他的API提供SQL支持。Monty直接借助于mSQL的代码,将它集成到自己的存储引擎中。令人失望的是,效果并不太令人满意,决心自己重写一个SQL支持。
1996年,MySQL 1.0发布,它只面向一小拨人,相当于内部发布。到了1996年10月,MySQL 3.11.1发布(MySQL没有2.x版本),最开始只提供Solaris下的二进制版本。一个月后,Linux版本出现了。在接下来的两年里,MySQL被依次移植到各个平台。
1999~2000年,MySQL AB公司在瑞典成立。Monty雇了几个人与Sleepycat合作,开发出了Berkeley DB引擎, 由于BDB支持事务处理,因此MySQL从此开始支持事务处理了。
2000,MySQL不仅公布自己的源代码,并采用GPL(GNU General Public License)许可协议,正式进入开源世界。同年4月,MySQL对旧的存储引擎ISAM进行了整理,将其命名为MyISAM。
2001年,集成Heikki Tuuri的存储引擎InnoDB,这个引擎不仅能持事务处理,并且支持行级锁。后来该引擎被证明是最为成功的MySQL事务存储引擎。MySQL与InnoDB的正式结合版本是4.0
2003年12月,MySQL 5.0版本发布,提供了视图、存储过程等功能。
2008年1月,MySQL AB公司被Sun公司以10亿美金收购,MySQL数据库进入Sun时代。在Sun时代,Sun公司对其进行了大量的推广、优化、Bug修复等工作。
2008年11月,MySQL 5.1发布,它提供了分区、事件管理,以及基于行的复制和基于磁盘的NDB集群系统,同时修复了大量的Bug。
2009年4月,Oracle公司以74亿美元收购Sun公司,自此MySQL数据库进入Oracle时代,而其第三方的存储引擎InnoDB早在2005年就被Oracle公司收购。
2010年12月,MySQL 5.5发布,其主要新特性包括半同步的复制及对SIGNAL/RESIGNAL的异常处理功能的支持,最重要的是InnoDB存储引擎终于变为当前MySQL的默认存储引擎。MySQL 5.5不是时隔两年后的一次简单的版本更新,而是加强了MySQL各个方面在企业级的特性。Oracle公司同时也承诺MySQL 5.5和未来版本仍是采用GPL授权的开源产品。
MySQL由于它的开源性被广泛传播,也让更多的人了解到这个数据库。它的历史也富有传奇性。在这里仅是作为一个故事讲解了MySQL的发展史,在网上很多版本也会有不同。伴随着更多的技术开发人员加入到MySQL的开发中,不断完善,发展会越来越好。
七、MySQL基础知识总结
MySQL数据库基础知识1,数据类型与三范式
MySQL数据库基础知识2,那些年学过的事务
MySQL数据库基础知识3,mysql索引详解,上篇
MySQL数据库基础知识4,mysql索引详解,下篇
MySQL数据库基础知识5,为什么查询速度会慢
MySQL数据库基础知识6,缓存表、视图、计数器表、自定义变量
MySQL数据库基础知识7,查询的执行过程
MySQL数据库基础知识8,分区表详解
MySQL数据库基础知识9,InnoDB和MyISAM的数据分布对比
MySQL数据库基础知识10,MySQL全文索引
MySQL数据库基础知识11,查询缓存
MySQL数据库基础知识12,MySQL单列索引和联合索引
🏆本文收录于,数据库基础教程系列,包含MySQL基础、MySQL进阶、Redis、MongoDB等数据库基础知识。
🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师。
版权归原作者 哪 吒 所有, 如有侵权,请联系我们删除。