面试官问我MySQL和MariaDB的联系和区别,这我能不知道?

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。
🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。
🏆本文已收录于PHP专栏:MySQL的100个知识点。
🎉欢迎 👍点赞✍评论⭐收藏
文章目录
- 🚀一、MySQL 和 MariaDB 是什么?
- 🔎1.1 MySQL
- 🔎1.2 MariaDB
- 🚀二、MySQL 和 MariaDB 的不同
- 🔎2.1 存储引擎
- 🔎2.2 功能扩展
- 🔎2.3 发展和授权问题
- 🚀三、区别和应用场景
- 🔎3.1 选择 MySQL 的场景
- 🔎3.2 选择 MariaDB 的场景
- 🚀四、总结
🚀一、MySQL 和 MariaDB 是什么?
MySQL和MariaDB都是关系型数据库管理系统(RDBMS),用于存储和管理数据。它们都使用结构化查询语言(SQL)进行数据操作,包括查询、插入、更新和删除等。
🔎1.1 MySQL
MySQL 是最早由瑞典公司 MySQL AB 开发的一款开源关系型数据库管理系统。它于1994年发布,并在2008年被 Sun Microsystems 收购,后来又被 Oracle Corporation 收购。MySQL 以其性能、可靠性和灵活性而广受欢迎,成为全球最流行的开源数据库之一。许多知名的网站和应用程序,如Facebook、Twitter和YouTube都使用 MySQL 来存储数据。
主要特点:
- 高性能:MySQL 的执行速度非常快,适用于高并发和大规模数据处理。
- 可靠性:MySQL 具有事务支持和数据恢复功能,可以确保数据的一致性和完整性。
- 灵活性:MySQL 支持多种存储引擎,如InnoDB、MyISAM等,以适应不同的应用需求。

🔎1.2 MariaDB
MariaDB 是 MySQL 的一个分支,由MySQL的创始人之一 Michael Monty Widenius 在 Oracle 收购 MySQL 后创建。他担心 Oracle 对 MySQL 的未来发展可能不如人们期望,因此决定创建一个与 MySQL 兼容但更开放和自由的替代品。MariaDB 于2009年首次发布,目前被许多公司和组织广泛采用。
主要特点:
- 兼容性:MariaDB 是与 MySQL 兼容的,可以直接替换 MySQL 来使用。
- 提升性能:MariaDB 在一些关键的性能指标上超过了 MySQL,如查询优化、并发控制等。
- 新功能:MariaDB 增加了一些在 MySQL 中缺失的功能,如全文搜索、地理信息系统等。
- 社区支持:MariaDB 的开发是由社区驱动的,具有更强大的社区支持和活跃度。

🚀二、MySQL 和 MariaDB 的不同
虽然 MySQL 和 MariaDB 在很多方面是相似的,但它们也存在一些重要的差异。
🔎2.1 存储引擎
MySQL 默认使用的存储引擎是 InnoDB,而 MariaDB 默认使用的是 XtraDB(一个 InnoDB 的分支)。InnoDB 和 XtraDB 在很大程度上是相同的,但 XtraDB 添加了一些额外的功能,并改进了一些性能问题。
此外,MySQL 还支持 MyISAM 存储引擎,而 MariaDB 则不再支持 MyISAM,而是使用了 Aria 引擎作为替代。
🔎2.2 功能扩展
MariaDB 在一些功能上超越了 MySQL,并添加了一些新功能。例如,MariaDB 提供了全文搜索、地理信息系统、JSON 数据类型等特性,而这些在 MySQL 中并不完全支持或不支持。
此外,MariaDB 还实施了一些性能改进,如查询优化器的优化、并发控制的改进等。
🔎2.3 发展和授权问题
MySQL 自 2008 年以来由 Oracle 公司拥有。虽然 Oracle 承诺继续支持和开发 MySQL,但一些人担心 Oracle 对 MySQL 的未来发展可能会受到限制。
相比之下,MariaDB 是一个由社区驱动的项目,可以更加开放和自由。这种开放性导致 MariaDB 的开发更具活力,社区贡献者更多,因此在一些方面发展得更快。
🚀三、区别和应用场景
尽管 MySQL 和 MariaDB 在功能上存在一定的差异,但它们的兼容性使得迁移和切换非常容易。因此,大多数情况下可以根据具体需求来选择使用 MySQL 还是 MariaDB。
🔎3.1 选择 MySQL 的场景
- 已经在使用
MySQL,并且没有对MariaDB特定功能的需求。 - 需要使用
MyISAM存储引擎或其他MySQL特定功能。 - 对
Oracle公司的支持和认可有信心。
🔎3.2 选择 MariaDB 的场景
- 对
MySQL的未来发展感到担心,希望选择一个更加开放和自由的替代品。 - 对
MySQL一些特性的缺失感到不满,如全文搜索、地理信息系统等。 - 对于社区支持和活跃度有较高的需求。
需要注意的是,无论选择 MySQL 还是 MariaDB,在应用程序层面上并不需要做太多的改动,因为它们的兼容性非常好。绝大多数情况下,只需将数据库驱动程序或连接库从 MySQL 更换为 MariaDB 即可完成切换。
🚀四、总结
MySQL 和 MariaDB 都是强大而受欢迎的关系型数据库管理系统,它们的设计和功能在很大程度上是相似的。然而,MariaDB 在一些方面进行了改进和增强,提供了更多的特性和更好的性能。此外,MariaDB 的社区支持和活跃度也更高。

在选择 MySQL 还是 MariaDB 时,可以根据具体需求、对未来发展的担忧、对特定功能的要求等因素来做出决策。无论选择哪个,都可以通过简单的替换数据库驱动程序来实现切换,而无需对应用程序进行太多的改动。
相关文章:
面试官问我MySQL和MariaDB的联系和区别,这我能不知道?
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...
1.网络空间搜素引擎
网络空间搜素引擎 https://cybermap.kaspersky.com/cn 世界所以带有ip的网络设备互联组成的空间叫做网络空间 地址 :shodan.io 简介 : 这句话还是有点东西得 。 区别: 平常得搜素引擎主要搜网页,shadan可以搜所以带有ip地址…...
《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌全栈环境IDX,微软在Excel推出Python
周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版: https://www.bilibili.com/video/BV1ju4y1D7A8/ 《安富莱嵌入式周报》第321期:开源12导…...
前端开发必备的网站
前端开发必备的网站及官网 说明: 这里记录了我本人平时开发所用到的网站,对我还是有帮助的,后续会接着补充进来,一方面是为了记录,另一方面也可以帮助到大家… 网站名称及描述网址Elememt-ui (组件库)Elememt-ui&…...
Java运行时jar时终端输出的中文日志是乱码
运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可 两种方式修改:临时修改和注册表永久修改 临时修改 只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK, 打开cmd&am…...
Vue框架--Vue中el和data的两种写法
data与el的2种写法 1.el有2种写法 (1).new Vue时候配置el属性。 (2).先创建Vue实例,随后再通过vm.$mount(#root)指定el的值。 2.data有2种写法 (1).对象式 (2).函数式 如何选择:目前哪种写法都可以,以后学习到组件时ÿ…...
【数据结构】 二叉树面试题讲解->贰
文章目录 🌏引言🎄[二叉树遍历](https://www.nowcoder.com/practice/4b91205483694f449f94c179883c1fef?tpId60&&tqId29483&rp1&ru/activity/oj&qru/ta/tsing-kaoyan/question-ranking)🐱👤题目描述&#…...
C和SystemVerilog联合仿真
想要联合仿真一个c程序和verilog表示的硬件,可以用如下方法(DPI): 先写一个.c文件funcs.c #include <stdio.h> #include "svdpi.h"extern int sayHello();void something() {printf("something\n");s…...
15-mongodb
一、 MongoDB 简介 1 什么是 MongoDB MongoDB 是一个基于分布式文件存储的数据库。由 C语言编写。在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系…...
CSS学习笔记02
CSS笔记02 美化网页元素 为什么要美化网页 目的: 有效的传递页面信息美化网页、页面漂亮、才能吸引用户突显页面的主题提高用户的体验 span标签 span标签是短语内容的通用行内容器,它本身并没有任何特殊语义。 通常我们使用span标签来把我们想要重…...
为什么Java接口可以多继承,而类不可以?
个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…...
自动化信息收集工具 水泽 使用教程
自动化信息收集工具 水泽 使用教程 1.水泽简介&安装2.使用教程3.测试使用1.水泽简介&安装 一条龙服务,只需要输入根域名即可全方位收集相关资产,并检测漏洞。也可以输入多个域名、C段IP等 开发语言:Python3 水泽下载地址 安装前置准备: 当前用户对该目录有写权…...
2023年全国职业院校技能大赛(高等职业教育组)“信息安全管理与评估”理论技能答案
理论技能与职业素养(100分) 2023年全国职业院校技能大赛(高等职业教育组) “信息安全管理与评估”理论技能 【注意事项】 1.理论测试前请仔细阅读测试系统使用说明文档,按提供的账号和密码登录测试系统进行测试&am…...
MATLAB 动态图GIF
MATLAB 动态图GIF 前言一、创建动态图(动态曲线、动态曲面)1. 创建动画曲线(MATLAB animatedline函数)2. 创建动画曲面 二. 保存动态图三、完整示例1. 动态曲线( y s i n ( x ) ysin(x) ysin(x))2. 动态曲…...
ChatGPT⼊门到精通(4):ChatGPT 为何⽜逼
⼀、通⽤型AI 在我们原始的幻想⾥,AI是基于对海量数据的学习,锻炼出⼀个⽆所不知⽆所不能的模 型,并借助计算机的优势(计算速度、并发可能)等碾压⼈类。 但我们⽬前的AI,不管是AlphaGo还是图像识别算法&am…...
数据分析基础-数据可视化学习笔记03-可视化的符号与表示-图形符号学
概念 图型符号学(Cartographic Symbolization)是地图学领域中的一个重要概念,涉及到如何使用不同的符号、颜色、图案和标记来在地图上表示地理信息和数据。图型符号学旨在传达地理信息,使得地图能够清晰、有效地传达各种空间数据…...
暴力递归转动态规划(四)
题目 规定1对应A、2对应B、3对应C…26对应Z,那么一个数字字符串比如"111",就可以转化为:“AAA”、“KA"或"AK”,给定一个数字字符组成的字符串str,返回有多少种转化结果。 解释一下,字…...
大数据项目实战(Sqoop安装)
一,搭建大数据集群环境 1.4 Sqoop安装 1.sqoop安装 (1)上传安装包 (2)解压安装包 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /export/servers (3)重命名 mv sqoop-1.4.6.b…...
android——spinner下拉弹窗、popupwindow下拉弹窗列表
一、spinner下拉弹窗 效果图如下: adapter的代码: package com.yaona.spinnerimport android.R import android.content.Context import android.graphics.Color import android.view.LayoutInflater import android.view.View import android.view.Vie…...
【阿里淘天】淘天20230824真题一、二 <模拟、双指针>
一、 题目描述: 小红有一个01字符串,她可以进行最多k次提作,每次操作可以交换相邻的两个字符,问可以得到的字典序最小的字符串是什么 输入描述: 一行两个整数 n 和 k,表示字符串的长度和可以进行的操作…...
终极分屏游戏解决方案:Nucleus Co-Op 让单机游戏变身多人派对
终极分屏游戏解决方案:Nucleus Co-Op 让单机游戏变身多人派对 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 还在为单机游戏无法本地多…...
【科研必备】Elsevier Tracker:5分钟搞定学术投稿监控的终极解决方案
【科研必备】Elsevier Tracker:5分钟搞定学术投稿监控的终极解决方案 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 你是否也曾为了追踪Elsevier期刊的审稿状态而反复刷新页面?每天登录系统…...
打造掌机媒体中心:wiliwili跨设备播放全攻略
打造掌机媒体中心:wiliwili跨设备播放全攻略 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 在移动…...
通义千问1.8B-Chat部署教程:Supervisor管理服务,稳定运行不中断
通义千问1.8B-Chat部署教程:Supervisor管理服务,稳定运行不中断 1. 项目概述 通义千问1.5-1.8B-Chat-GPTQ-Int4是阿里云推出的轻量级对话模型,经过GPTQ-Int4量化后,显存需求仅约4GB,非常适合在消费级GPU或边缘设备上…...
SEO_SEO优化常见误区及正确操作指南
SEO优化常见误区 在互联网时代,SEO(搜索引擎优化)已成为网站运营中不可或缺的一部分。很多人在实际操作中却常常犯下一些常见的SEO优化误区,这不仅影响了网站的流量,也可能导致搜索引擎的惩罚。下面我们将详细分析这些…...
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀
灵毓秀-牧神-造相Z-Turbo进阶玩法:结合提示词生成不同风格的灵毓秀 1. 认识灵毓秀-牧神-造相Z-Turbo 1.1 模型特点概述 灵毓秀-牧神-造相Z-Turbo是一款基于Xinference部署的专用文生图模型,专注于生成《牧神记》中灵毓秀这一角色的高质量图像。相比通…...
别再手动画封装了!用嘉立创EDA免费库5分钟搞定Altium Designer缺失的器件
5分钟极速救援:用嘉立创EDA破解Altium Designer封装缺失难题 深夜11点,李工盯着屏幕上闪烁的光标和半成品的PCB布局图,额头渗出细密的汗珠。项目交付截止前48小时,团队突然发现Altium Designer官方库中缺少关键芯片TPS5430DDAR的封…...
别再只用外部中断了!用STM32F103的TIM2输入捕获,实现更稳定的旋转编码器读数
旋转编码器信号捕获:STM32F103定时器输入捕获模式实战解析 旋转编码器作为工业控制和消费电子中的核心位置传感器,其信号处理的稳定性直接影响系统性能。许多开发者习惯采用外部中断方式读取AB相脉冲,但在高速旋转或存在机械抖动的场景下&…...
【STM32F103标准库开发】DMA+USART双剑合璧:实战环形缓冲区与空闲中断解析
1. 为什么需要DMAUSART组合方案 第一次用STM32做GPS数据采集时,我被串口中断折磨得够呛。当时用的是传统中断接收模式,每收到一个字节就触发一次中断,在115200波特率下,CPU几乎被串口中断占满,其他任务根本跑不动。后来…...
Wi-Fi 6高密度网络优化:实战漫游与性能提升
Wi-Fi 6高密度网络优化:实战漫游与性能提升在诸如大型企业园区、高流量高校、人流密集的会展中心等高密度用户环境中,传统Wi-Fi网络面临着严峻的无线接入挑战。Wi-Fi 6 (802.11ax) 标准以更高的频谱效率、更低的延迟和卓越的设备并发能力,为解…...
