趣谈MySQL历史,以及MariaDB初体验

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 趣谈MySQL历史,以及MariaDB初体验

MySQL 是一个跨世纪的伟大产品,它最早诞生于 1979 年,距今已经有 40 多年的历史了,而如今比较主流的 Java 语言也只是 1991 年才诞生的,也就是说 MySQL 要比 Java 的诞生还早十几年,不得不惊叹二者强大的生命力。


MySQL 的应用十分广泛,像 Google、Taobao、Facebook、Twitter、Baidu、Tencent 等公司以及绝大多数互联网公司都能见到它的身影,MySQL 也一度是(目前也是)“数据库”的代名词。


MySQL 之所以流行和它开源以及免费的特性是分不开的,因为免费所有很多公司在用,因为被广泛使用所以会有一群狂热的爱好者为它提供技术支持,这样良性的循环将 MySQL 推向了巅峰。


以国内的情况来说,如今的互联网巨头阿里巴巴,当年当发展到一定规模之后就提出了“去 IOE”的口号,所谓的 I 就是 IBM,O 就是 Oracle,而 E 就是 EMC 存储设备,为什么要去 IOE?无非是出于成本的考虑,最后阿里以 MySQL 为基石逐渐去掉了对 Oracle 的依赖,MySQL 在巨头的使用下也在进行着快速的迭代,那么国内的其他小弟看大哥都用 MySQL 了,也就纷纷投入了 MySQL 的怀抱,于是 MySQL 慢慢就成为了各种互联网公司数据库的首选方案。


当然阿里在使用 MySQL 的同时也在研发自己的数据库 OceanBase,并且 OceanBase 在 2019 年的 TPC-C 中也战胜了曾经的老大哥 Oracle 一举成名,让世界看到了中国的实力,这也是我们每个国人的骄傲。

TPC-C 是全球最具公信力的联机交易处理数据库的功能与性能结合的测试标准。通俗来讲 TPC-C 测试是对于商业数据库想要证明自身实力的一个硬性门槛。


image.png

MySQL 被卖


扯远了,说回 MySQL。对于 MySQL 来说 2008 年是一个重要的一年,因为这一年 MySQL 被原来的 Sun 公司以 10 亿美金给收购了,第二年 Sun 公司又以 74 亿美元将自己和所有的产品打包卖给了 Oracle,从此 Oracle DB 和 MySQL 两家并一家都归属于 Oracle 公司了。


这里有一个小插曲,Oracle 在收购了 Sun 公司的第二年,就以一纸诉状将 Google 搞上了法庭,原因是 Google 侵权使用了 Java 语言,Oracle 要求赔偿 88 亿美元,这场旷世纪的官司最终在 2018 年以 Oracle 的胜诉而告一段落,那我们可不可以理解 Oracle 如果真拿到了 88 亿美元,在不计算打官司所花的费用来说,既白嫖了 Java 和 MySQL 还白赚了 14 亿美元呢。


MySQL 另起炉灶

看完了 MySQL 的历史,我们在回到 MySQL 产品本身。当年在 Sun 公司收购了 MySQL 之后,MySQL 的创始人 Monty Widenius(迈克尔·维德纽斯)因为不满意 Sun 的工作方式而选择了离职,之后 MySQL 之父带领了一帮兄弟,另起炉灶成立 MySQL 的一个重要分支:MariaDB。

image.png迈克尔·维德纽斯,图片来源于网络

Maria 是 MySQL 之父 Monty 最小女儿的名字,好神奇!MariaDB 的命名竟然这么的草率,这也充分的说明,有一个好爹就可以让全世界都记住你的名字~


MariaDB 初体验


MariaDB 来自于 MySQL,因此 MariaDB 和 MySQL 在绝大多数方面是兼容的,对于应用程序来说,比如 PHP、Perl、Python、Java、.NET、Ruby 无需做任何改动就可以直接使用二者。值得一提的是 MariaDB 的发展速度很快,新版本的发布速度已经超过了 Oracle 公司官方的 MySQL 版本了。


MariaDB 和 MySQL 更多区别:https://go.mariadb.com/20Q4-WBN-GLBL-OSSC-MySQL-Comparison-Migration-2020-9-30_Registration-LP.html


那接下来我们就尝试体验一下 MariaDB 吧,它的下载地址:https://mariadb.com/downloads/

image.png

选择对应的版本和系统类型进行下载。


PS:因为官方下载地址是国外源,所以下载速度很慢,可以关注【Java中文社群】发送“Maria”获取最新版本的国内下载地址。


MariaDB 的安装和 MySQL 的安装比较类似,只是提供了更多可配置项,比如端口号和编码方式、密码等让用户可以友好的配置,安装如下所示:

image.png

image.png

image.png

入用户密码和确认密码,选择是否用 UTF8 作为默认的字符集。

image.png

可以修改服务的名称、端口号和内存占用量,设置完之后点击 Next,等待完成之后整个安装就成功了。

自带客户端

我们发现安装完 MariaDB 之后它会自动帮我们安装一个 HeidiSQL 的客户端,使用它我们可以很方便的操作 MariaDB。

image.png

它的操作界面如下图所示:

image.png

image.png

美否暂且不论,就中文菜单和自带功能(视图、SQL 操作、导入导出数据等功能)来说,给我的第一个感觉就是很实用。

命令行工具

如果我们还是习惯用 MySQL 的操作命令行,在 MariaDB 装完之后(无需安装 MySQL)的情况下也可以直接使用 MySQL 的命令行工具,我们只需要先将 MariaDB 的安装(bin)目录设置在环境变量中,如下图所示:

image.png

再直接敲击 CMD 的命令行就可以直接操作了,如下图所示:

image.png

操作命令还是和操作 MySQL 的命令一样,还是那熟悉的味道~


官方 MySQL

Oracle 虽然收购了 MySQL,并且在前些年更新也很慢(MySQL 8)之前,这个也可以理解,毕竟要把主要的精力和核心的团队放在赚钱的 Oracle DB 身上嘛,但好在一点 Oracle 依然为我们保留了免费的社区版可供使用,Oracle 的 MySQL 相关产品如下:

  • MySQL Community Server 社区版本,开源免费,但不提供官方技术支持;
  • MySQL Enterprise Edition 企业版本,需付费,可以试用 30 天;
  • MySQL Cluster 集群版,开源免费。可将几个 MySQL Server 封装成一个Server;
  • MySQL Cluster CGE 高级集群版,需付费;
  • MySQL Workbench(GUI TOOL)一款专为 MySQL 设计的 ER 数据库建模工具。它是著名的数据库设计工具 DBDesigner4 的继任者。MySQL Workbench 又分为两个版本,分别是社区版(MySQL Workbench OSS)、商用版(MySQL Workbench SE)。

所以想要继续使用 Oracle 的 MySQL 版本也是可以的,有社区办可以免费用,但如果想要尝试一下 MariaDB 也未尝不可,毕竟 MariaDB 提供了更多的功能和优化的改进。


总结

MySQL 的发展一波三折,先被 Sun 收购,最后又归属于 Oracle,后来 MySQL 之父从被收购的公司出来自己又开始做 MySQL 新的分支 MariaDB,它可以看作是 MySQL 的升级版,有兴趣的朋友可以试试。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
关系型数据库 Java MySQL
Linux安装JDK1.8 & tomcat & MariaDB(MySQL删减版)
本教程提供了在Linux环境下安装JDK1.8、Tomcat和MariaDB的详细步骤。这三个组件的组合为Java Web开发和部署提供了一个强大的基础。通过遵循这些简单的指导步骤,您可以轻松建立起一个稳定、高效的开发和部署环境。希望这个指导对您的开发工作有所帮助。
251 8
|
5月前
|
缓存 关系型数据库 MySQL
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
error: Failed dependencies: mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.36-1.el7.x86_64 问题解决
302 19
|
4月前
|
SQL 关系型数据库 MySQL
如何在 MySQL 或 MariaDB 中导入和导出数据库
如何在 MySQL 或 MariaDB 中导入和导出数据库
636 0
|
4月前
|
SQL Ubuntu 关系型数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
63 0
|
4月前
|
关系型数据库 MySQL 数据库连接
FreeSWITCH通过mod_mariadb原生连接MySQL
FreeSWITCH通过mod_mariadb原生连接MySQL
374 0
|
NoSQL 关系型数据库 MySQL
阿里云关系型数据库详细介绍MySQL/MariaDB/SQL Server/PolarDB/PostgreSQL等
阿里云关系型数据库详细介绍MySQL/MariaDB/SQL Server/PolarDB/PostgreSQL等,阿里云RDS关系型数据库如MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等
212 0
|
NoSQL Cloud Native 关系型数据库
阿里云RDS数据库_MySQL_SQL Server_MariaDB_PolarDB_PostgreSQL
阿里云RDS关系型数据库大全:MySQL版、PolarDB、PostgreSQL、SQL Server和MariaDB等
135 0
|
4天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
18 3
|
4天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
22 3
|
4天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
27 2