MySQL开篇
栏目持续更新中
一、MySQL概述
MySQL数据库由瑞典MySQL AB公司开发。公司名中的”AB”是瑞典语”aktie bolag”股份公司的首字母缩写。该公司于2008年1月16日被SUN公司收购,2009年,SUN公司又被Oracle收购。因此,MySQL数据库现在属于Oracle公司。MySQL中的”My”是其作者Michael Widenius根据其大女儿My的名字来命名的。
二、MySQL的优势
可移植性
MySQL数据库几乎支持所有的操作系统,如Linux、Solaris、FreeBSD、Mac和Windows。
免费
MySQL的社区版完全免费,一般中小型网站的开发都选择MySQL作为网站数据库。
开源
2000年,MySQL公布了自己的源代码,并采用GPL许可协议正式进入开源的世界。开源意味着可以让更多人审阅和贡献源代码,可以吸纳更多优秀人才的代码成果。
关系型数据库
MySQL可以利用标准SQL语法进行查询和操作。
速度快、体积小、容易使用
与其他大型数据库的设置和管理相比,其复杂程度较低,易于学习。MySQL的早期版本(主要使用的是MYISAM引擎)在高并发下显得有些力不从心,随着版本的升级优化(主要使用的是InnoDB引擎),在实践中也证明了高压力下的可用性。从2009年开始,阿里的”去IOE”备受关注,淘宝DBA团队再次从Oracle转向MySQL,其他使用MySQL数据库的公司还有Facebook、Twitter、YouTube、百度、腾讯、去哪儿等,自此,MySQL在市场上占据了很大的份额。
安全性和连接性
十分灵活和安全的权限和密码系统,允许基于主机的验证。当连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。因为MvSQL是网络化的,所以可以在互联网上的任何地方访问,提高数据共享的效率。
丰富的接口
提供了用于C、C++、Java、PHP、Python、Ruby、Eiffel、Perl等语言的API。
灵活
MySQL并不完美,但是却足够灵活,能够适应高要求的环境。同时,MySQL既可以嵌入应用程序中,也可以支持数据仓库、内容索引和部署软件、高可用的冗余系统、在线事务处理系统等各种应用类型。
存储引擎架构
MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理及其他系统任务和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式。MySQL中同一个数据库,不同的表格可以选择不同的存储引擎。其中使用最多的是InnoDB和MyISAM,MySQL5.5之后InnoDB是默认的存储引擎。
三、MySQL的版本
针对不同用户,MySQL提供了3个不同的版本。
MySQL Enterprise Server(企业版)
能够以更高的性价比为企业提供数据仓库应用,该版本需要付费使用,官方提供电话技术支持。
MySQL Cluster(集群版)
MySQL集群版是MySQL适合于分布式计算环境的高可用、高冗余版本。它采用了NDB Cluster存储引擎,允许在1个集群中运行多个MySQL服务器。它不能单独使用,需要在社区版或企业版基础上使用。
MySQL Community Server(社区版)
在开源GPL许可证之下可以自由地使用。该版本完全免费,但是官方不提供技术支持。本书是基于社区版讲解和演示的。在MySQL社区版开发过程中,同时存在多个发布系列,每个发布系列处在不同的成熟阶段。
MySQL 5.7(RC)是当前稳定的发布系列。RC版(Release Candidate 候选版本)只针对严重漏洞修复和安全修复重新发布,没有增加会影响该系列的重要功能。从MySQL 5.0、5.1、5.5、5.6直到5.7都基于5这个大版本,升级的小版本。5.0版本中加入了存储过程、服务器端游标、触发器、视图、分布式事务、查询优化器的显著改进,以及其他的一些特性。这也为MySQL 5.0之后的版本迈向高性能数据库的发展奠定了基础。
MySQL 8.0.26(GA)是最新开发的稳定发布系列。GA(General Availability 正式发布的版本)是包含新功能的正式发布版本。这个版本是MySQL数据库又一个新时代的开始。
四、MySQL基础使用
序号 | 文章名 | 概述 |
---|---|---|
1 | MySQL系统命令 | MySQL登录,备份恢复,无密码登录等 |
2 | MySQL数据定义语言 | 库,表以及字段的创建,MySQL数据类型 |
3 | MySQL插入修改和删除 | 数据的更新 |
4 | MySQL查询 | 数据查询的方式 |
5 | MySQL事务 | 事务的实现,回滚点 |
6 | MySQL变量 | 用户变量和系统变量,变量的查询和设置 |
7 | MySQL函数 | 常见函数使用和自定义函数 |
8 | MySQL存储过程 | 存储过程的定义和调用 |
9 | MySQL视图 | 视图创建、修改和使用 |
五、MySQL高级调优
序号 | 文章名 | 概述 |
---|---|---|
1 | MySQL5.7x的主从复制 | 负载均衡、备份和高可用性 |
2 | RockyLinux9编译安装MySQL5.7 | 编译MySQL5.7源码 |
3 | RockyLinux9编译安装MySQL8 | 编译MySQL8源码 |
参考
[1] 尚硅谷教育.剑指MySQL 8.0:入门、精练与实战[M].北京:电子工业出版社,2023年2月.