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 测试是对于商业数据库想要证明自身实力的一个硬性门槛。

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。



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

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?_ga=2.27991548.1993405062.1602674827-345855344.1602674827

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



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

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

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









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



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

自带客户端

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



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







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

命令行工具

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



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



操作命令还是和操作 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 的升级版,有兴趣的朋友可以试试。

关注【Java中文社群】发送“Maria”获取下载地址。

你不知道的MySQL,以及MariaDB初体验的更多相关文章

  1. mysql/mariadb 初体验

    距离申请这个博客号已经过了九个月,思前想后还是把知识沉淀放这里吧,不过初心一样,依旧是 '谨以此文,见证成果'.有 兴趣的话也欢迎大家去我的csdn博客转一转.以下是正文: 1.mysql安装 win ...

  2. 2.MySQL入门基本操作初体验

    启动和关闭mysql服务器: 一.启动方式 1.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 2.使用 守护进程safe_mysqld 启动:safe_mysqld ...

  3. MySQL之爱之初体验

    写在前言:本篇博客从mysql的安装开始说起,至于什么是数据库以及数据的由来什么的,不在详谈!!! 第一:mysql安装 linux安装:两种方式 1.apt安装 apt install mysql- ...

  4. Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验

    Net Core平台灵活简单的日志记录框架NLog初体验 前几天分享的"[Net Core集成Exceptionless分布式日志功能以及全局异常过滤][https://www.cnblog ...

  5. Mysql Workbench初体验

    可以画图,建立表关系. 分类整理数据表. 可以直接导出sql语句. 可以导出png图片. 可以连接mysql数据库. 基本满足了各项需求. 这次初体验只是基本的功能,这个软件对于mysql还是很牛的.

  6. JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中

    JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://j ...

  7. Question2Answer初体验

    Question2Answer初体验   高质量的问答社区十分有价值,很多无法解决的问题能通过问答社区找到解决办法,而对于站长来说,垂直的问答社区也很有潜力.最近盯上问答这一块,发现和我的一些思路很符 ...

  8. YII学习,初体验 ,对YII的一些理解.

    先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...

  9. hibernate--CRUD初体验

    hibernate的crud操作初体验. 看具体实例 package com.fuwh.model; import javax.persistence.Column; import javax.per ...

随机推荐

  1. leetcode刷题-53最大子序和

    题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 思路 动态规划:求整个数组的连续子数组的最大和,可以求出每个位置的连续子数组的最大和,返回 ...

  2. CDH5.16.1集群企业真正离线部署

    一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...

  3. 创建node节点上kubeconfig文件

    #!/bin/bash#by love19791126 107420988@qq.com# 创建node节点上kubeconfig文件 在master节点部署#kubeconfig是用于Node节点上 ...

  4. Kubernetes-12:Secret介绍及演示

    Secret介绍 Secret存在的意义 Secret解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中,可以以Volume或者环境变量的方式使用 ...

  5. JavaScript浮点数及其运算

    .普及两个函数Math.pow(底数,几次方)Number.toFixed(小数位数)2.浮点数相加function accAdd(arg1,arg2){   var r1,r2,m;   try{r ...

  6. mongodb查询语句与sql语句对比

    左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...

  7. [LeetCode]1084. 销售分析III(Mysql,having+聚合函数)

    题目 Table: Product +--------------+---------+ | Column Name | Type | +--------------+---------+ | pro ...

  8. 深入理解java虚拟机--垃圾收集器

    对象的销毁 对象的finalize方法只会执行一次,在finalize里可以自救不被销毁,二次被主动gc,必定会销毁 类销毁

  9. tomcat源码之概述

    tomcat架构及常用的组件如下: Server Server代表了tomcat服务器,Tomcat启动时即会启动一个server实例,它监听在8005端口以接收shutdown命令,使用 telne ...

  10. tomact在windows系统下安装

    一.下载 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用的版本, ...