MySQL:了解这是什么以及如何使用

Jeffrey Erickson | 内容策略师 | 2024 年 8 月 29 日

MySQL 是一个用于存储和管理数据的开源关系数型据库管理系统 (RDBMS)。MySQL 的可靠性、性能、可扩展性和易用性使其成为了开发人员的热门选择。现实中,您会发现 MySQL 是 Facebook、Netflix、Uber、Airbnb、Shopify 和 Booking.com 等高要求、高流量应用的核心。

尽管 MySQL 在近三十年前就已声名鹊起,但它却没有衰退的迹象。根据 DB-Engines 的数据表明,MySQL 是第二受欢迎的数据库,仅次于 Oracle Database。MySQL 具备多种功能,可以支持各种应用,包括从小型的个人项目到企业级业务关键型系统,还有一个庞大且充满热忱的开源社区为其提供支持。

让我们深入了解 MySQL 为何能够一直受欢迎。

什么是 MySQL?

MySQL 是一个全球流行的开源数据库管理系统。数据库是当前所有软件应用都离不开的基本数据存储库。例如,每当有人执行 Web 搜索、登录账户或完成一项事务时,数据库就会存储相关信息以供未来访问。而 MySQL 恰恰擅长处理此类任务。

SQL 是结构化查询语言 (Structured Query Language) 的缩写,这是一种编程语言,适用于检索、更新、删除和以其他方式处理关系型数据库中的数据。MySQL 的官方发音为“My S-Q-L”,但“my sequel”这个叫法更为常见。顾名思义,MySQL 是一个基于 SQL 的关系数据库,旨在存储和管理结构化数据。然而,近年来,Oracle 添加了额外的支持服务,其中包括流行的 JSON 数据类型。

关键要点

  • 2024 年,MySQL 继续成为全球流行的开源数据库。
  • 作为一个关系型数据库系统,MySQL 可将数据存储在由 schema 定义的行和列中。
  • MySQL 的产品名称部分取自于 SQL 语言,该语言主要用于管理和查询数据库中的数据。
  • MySQL 提供完整的 ACID 事务处理功能,可以处理大量并发连接。

MySQL 详解

MySQL 是一个使用 SQL 创建和管理数据库的开源 RDBMS。作为一个关系型数据库,MySQL 可将数据存储于表中的行和列,该表按 schema 组织。Schema 用于定义数据的组织和存储方式,并描述各个表之间的关系。通过这种格式,开发人员可以轻松存储、检索和分析多种数据类型,包括简单文本、数字、日期、时间,以及近期新增的 JSON 和向量

作为一个开源数据库,MySQL 在超过 30 年的发展历程中与全球用户密切合作,推出了众多功能。其中,开发人员所依赖的两个主要功能是 MySQL 对 ACID 事务的支持以及 MySQL 的扩展能力。ACID 代表“原子性 (atomicity)、一致性 (consistency)、隔离性 (isolation) 和持久性 (durability)”,这四个属性可确保数据库事务经过可靠和准确地处理。对于 ACID 事务,MySQL 可以保证所有数据修改都以一致又可靠的方式进行,即使在系统发生故障时也是如此。MySQL 能够扩展以支持非常大的数据库,并且可以处理大量并发连接。

MySQL 不仅性能高、易用且成本低,还能够随着业务增长而可靠扩展,这些优势使其成为了广受欢迎的开源数据库。

MySQL:与 SQL 的区别

“SQL”是结构化查询语言 (Structured Query Language) 的缩写,这是一种适用于处理数据库中数据的编程语言。MySQL 使用 SQL 语言来管理和查询数据库中的数据,因此使用“SQL”作为其名称的一部分。如果您在 MySQL RDBMS 中存储了数据,您可以编写简单的 SQL 提示来添加、搜索、分析和检索数据。

了解 MySQL:功能和受欢迎程度

MySQL 能够高效地存储和分析大量数据,这意味着它可以帮助您处理各种任务,例如为复杂的业务决策提供信息,或者是帮您在约会之夜找一家当地的餐厅。下面我们来看看 MySQL 在当今科技领域如此普及的强大功能。

一个全面的关系型数据库系统

MySQL 作为一个灵活且易于使用的数据库管理系统而闻名。您会发现,不仅仅是独立开发人员在用 MySQL 来获取小型项目的开源数据库,甚至是访问量非常庞大的网站和应用也在使用它。近 30 年来,MySQL 一直在不断发展以跟上日益上涨的需求,并提供了 ACID 事务处理,从而确保即使是在支持大量并发连接时,也能够以一致的方式进行数据修改。

MySQL 的开源优势

MySQL 是开源的,这意味着任何人都可以从网上下载并免费使用 MySQL 软件。企业还可以按需求修改 MySQL 软件的源代码。MySQL 软件采用 GNU 通用公共许可证 (GPL),这是一组通用的规则,旨在定义在各种情况下可以或不可以使用软件或对软件执行哪些操作。如果企业不想采用 GNU GPL 或者需要将 MySQL 代码嵌入商业应用,可以向 Oracle 购买商业许可版本。有关更多许可信息,请参见 MySQL 法律政策页面。

为什么开发人员更喜欢 MySQL 的性能和灵活性

MySQL 以易于设置和使用而闻名。不仅如此,对于具有非常庞大的数据集和大量用户的企业来说,MySQL 既可靠又可扩展。得益于 MySQL 的原生复制架构,Facebook 等企业能够轻松扩展应用,满足数十亿用户需求。

MySQL 受欢迎的其他关键因素包括丰富的学习资源和充满活力的全球社区

MySQL 的工作原理

每个软件应用都需要一个存储库来存储数据,以供日后访问、更新和分析信息。其中,像 MySQL 这样的关系型数据库将数据存储在许多单独的表中,而不是将所有数据存储在一个大仓库中。该数据库的结构由经过优化的文件组成,因此可以快速访问数据。这个逻辑数据模型,再加上数据表、视图、行以及列等对象,能够为开发人员和数据库管理员提供一个灵活的编程环境。您可以设置规则来管理不同数据字段之间的关系,例如一对一、一对多、唯一、必需或可选,在不同表之间添加“指针”。该系统会强制实施这些规则,因此只要拥有一个设计良好的关系型数据库,应用就永远不会发生数据不一致、重复、孤立或过时等问题。

MySQL Database 是一个客户端/服务器系统,它由一个支持多种后端的多线程 SQL 服务器、多个客户端程序和库、一系列的管理工具以及广泛的应用编程接口 (API) 组成。同时,MySQL 可作为一个嵌入式多线程库,让开发人员可以链接到应用中,有助于构建开发规模更小、速度更快、更易于管理的独立产品。

SQL 是一种在访问数据库时常用的标准化编程语言。根据编程环境,开发人员可以直接输入 SQL 来完成任务,例如生成报告。开发人员还可以将 SQL 语句嵌入使用其他编程语言编写的代码中,或使用隐藏了 SQL 语法的特定 API。

MySQL 的重要性

MySQL 之所以非常重要,是因为其无处不在,并且发挥着根本性的作用,不仅可以随着数据库和数据量呈指数级增长而扩展,还可以推动 AI 的发展。MySQL 为众多网站和应用提供支持,帮助全球企业组织、分析和保护数据。

此外,MySQL 也因一些其他因素而持续受到欢迎。

  • 具有强大社区支持的开源

    在近三十年中,MySQL 作为主流开源 RDBMS,随之成长的还有一个充满活力的全球社区。这个社区提供了丰富的专业知识和资源,例如教程、论坛中的提示等等。通过在多个用例场景中测试软件,该社区还可以帮助用户发现和修复错误,使 MySQL 成为一个高度可靠的产品。

    开源社区的知识共享、解决问题和持续创新使 MySQL 用户处于技术进步的前沿。

  • 高性能和高可靠性

    MySQL 在许多不同的环境中运行,包括单个开发人员项目和需要稳定性的关键任务应用。开源 RDBMS 可以处理大量数据和并发连接,并在高需求的情况下提供不间断的操作。这在一定程度上归功于 MySQL 强大的复制和故障转移机制,大大降低了数据丢失的风险。

  • 易于使用和兼容性

    MySQL 经常获得好评,因为它不仅易于使用,并且还能够与技术平台和编程语言(包括 Java、Python、PHP 和 JavaScript)广泛兼容。同时,MySQL 也支持从一个版本复制到另一个版本,这意味着运行 MySQL 5.7 的应用可以轻松地复制到 MySQL 8.0。

    此外,MySQL 还提供了开发传统 SQL 和 NoSQL 无模式数据库应用的灵活选择。这意味着开发人员可以在同一数据库和应用中混合、匹配关系数据与 JSON 文档。

  • 经济高效且可缩放

    MySQL 是开源的,您不仅可以免费使用 MySQL,还可以免费使用它所运行的本地硬件并接受培训。对于培训,由 MySQL 用户组成的全球社区可以为您提供经济高效的方式来访问学习资源和故障排除专业知识。Oracle 也将为您提供各种培训课程

    当需要扩展时,MySQL 支持多线程处理,可高效处理大量数据。自动故障转移功能则有助于降低计划外停机的潜在成本。

MySQL 的优势

MySQL 快速、可靠、可扩展、简单易用。它最初是为了快速处理大型数据库而开发的,多年来一直应用于严苛生产环境。MySQL 提供了丰富而有用的功能集,该功能集正在由 Oracle 进行持续性的开发,能够满足新的技术和业务需求。凭借出色的连接、速度和安全性表现,MySQL 非常适合访问互联网上的数据库。

MySQL 的主要优势包括:

  • 简单易用。开发人员可以在数分钟内完成 MySQL 安装,可以轻松管理数据库。
  • 可靠性。MySQL 是一个被广泛使用的成熟数据库。自问世近 30 年来,它经受住了各种场景考验,旗下用户不乏全球知名的大型企业。凭借出色的可靠性,很多企业都采用 MySQL 来运行关键业务应用。
  • 提升可扩展性。MySQL 可以灵活扩展,满足高访问量应用的需求。得益于 MySQL 的原生复制架构,Facebook、Netflix 和 Uber 等企业能够轻松扩展应用,满足数十亿用户需求。
  • 性能。MySQL 是一个经过验证的高性能零管理数据库系统,提供一系列版本,可满足几乎所有需求。基于云技术的 HeatWave MySQL 可根据 TPC-H、TPC-DS 和 CH-benCHmark 等行业基准提供出色的性能和性价比。
  • 高可用性。MySQL 采用了一整套原生、完全集成的复制技术,具有高可用性和灾难恢复能力。对于关键业务应用和服务级别协议承诺,客户可以实现零恢复点目标(零数据丢失)和零秒恢复时间目标(自动故障转移)。
  • 安全性。数据安全性要求企业采取数据保护措施,满足行业与政府法规要求,包括欧盟《通用数据保护条例》、支付卡行业数据安全标准以及《健康保险可携性和责任法案》等。对此,MySQL Enterprise Edition 提供多种高级安全功能,包括身份验证/授权、透明数据加密、审计、数据屏蔽和数据库防火墙。
  • 灵活性。MySQL Document Store 为用户开发传统 SQL 和 NoSQL 无模式数据库应用提供了充分的灵活性。开发人员可以在同一数据库和应用中混合、匹配关系数据与 JSON 文档。

什么是 HeatWave MySQL?

HeatWave 是 MySQL Database 的内存中查询加速器。HeatWave MySQL 是一个提供了此类加速功能的 MySQL 云数据库服务,通过将事务处理与实时分析相结合,消除了提取、转换和加载 (ETL) 复制的复杂性、延迟、成本和风险。

因此,用户可以看到 MySQL 在分析和混合工作负载方面的性能有数量级的提升。此外,HeatWave AutoML 支持开发人员和数据分析师在 HeatWave MySQL 中以全自动化的方式构建、训练、部署和解释机器学习模型的输出。他们还可以从使用 HeatWave GenAI 的集成和自动化生成式 AI 中受益。

HeatWave MySQL 的关键特性

HeatWave MySQL 可显著提高 MySQL 查询性能,让企业无需将其移至单独的分析数据库,即可对事务处理数据进行实时分析。您可以增强数据安全性,在 Oracle Cloud Infrastructure (OCI)、Amazon Web Services (AWS) 或 Microsoft Azure 中部署基于 HeatWave MySQL 的应用。

HeatWave MySQL 是一个内存中大规模并行的混合列查询处理引擎,集成了 HeatWave 的 MySQL 云技术服务。同时,HeatWave MySQL 也是一个基于 MySQL Enterprise Edition 构建的 MySQL 云技术服务。其高级功能提供了更多安全措施,帮助企业在整个数据生命周期保护数据安全并满足法规要求。此外,内置的 HeatWave Autopilot 可通过机器学习驱动的自动化,自动提高 MySQL 性能并降低成本,用户无需具备数据库调优的专业知识。Autopilot 有助于开发人员和 DBA 提高工作效率,并帮助消除人为错误。

借助 HeatWave MySQL,您可以轻松利用更广泛的集成 HeatWave 功能,其中包括:

  • HeatWave Lakehouse以各种文件格式查询对象存储中的数据,包括 CSV、Parquet、Avro 和 JSON。使用标准 SQL 语法,从其他数据库导出文件,并根据需要将其与 MySQL 数据库中的事务处理数据结整合在一起。
  • HeatWave AutoML在 HeatWave MySQL 中快速轻松地构建、训练、部署和解释机器学习模型,无需将数据迁移到单独的机器学习云技术服务,也无需成为机器学习专家。
  • HeatWave GenAI获得集成且自动化的生成式 AI,以及数据库内大语言模型 (LLM)、自动化的数据库内向量存储、横向扩展向量处理和以自然语言进行情景对话的能力 。现在,企业无需掌握 AI 专业知识、迁移数据或额外付费,即可利用生成式 AI。

MySQL 的使用场景

MySQL 的使用场景包括:管理电子商务网站的客户和产品数据;帮助内容管理系统支持 Web 内容服务;安全地跟踪事务处理和财务数据;通过存储用户资料和交互,为社交网站提供支持。

MySQL 处理大型数据集和复杂查询的能力,使其成为了各个行业和使用场景的关键技术,其中包括:

  • 电子商务。许多大型电子商务应用(包括 Uber 和 Booking.com)都在使用 MySQL 运行事务系统。MySQL 在管理用户配置文件、凭据、用户内容和财务数据(包括付款)以及欺诈检测领域非常流行。
  • 社交平台。Facebook、X(以前称为 Twitter)和 LinkedIn 等全球大型社交网络都在 MySQL 上运行。
  • 内容管理。与单用途文档数据库不同,MySQL 可通过一个数据库提供 SQL 和 NoSQL 支持。MySQL Document Store 支持用户通过 CRUD 操作并利用 SQL 语言来查询 JSON 文档中的数据,满足报告和分析要求。
  • SaaS 和 ISV。Ericsson 和 IBM 等 2000 多家独立软件开发商、原始设备制造商和增值经销商都使用 MySQL 作为嵌入式数据库来提高应用、硬件和设备的竞争力,加快产品投放市场速度并降低销货成本。此外,MySQL 还为流行的 SaaS 应用(例如 Zendesk)提供强大支持。其他使用 MySQL 的流行应用包括在线游戏、数字营销、零售销售点系统和物联网监视系统等等。
  • 附带 MySQL Enterprise Edition 的本地应用。MySQL Enterprise Edition 包含了一组全面的高级特性以及管理工具和技术支持,为企业提供高水平的 MySQL 可扩展性、安全性和超长的正常运行时间。它可以降低开发、部署和管理业务关键型 MySQL 应用时的风险、成本和复杂性。此外,它还提供丰富的安全功能,包括 MySQL Enterprise Backup、Monitor、Firewall、Audit、Transparent Data Encryption 和 Authentication,能够可靠保护数据并满足监管和行业合规要求。

MySQL 是全球广受欢迎的开源数据库,在所有数据库中排名第二,仅次于 Oracle Database。MySQL 既可靠又快速,数千个网站和应用都依赖于其出色的性能。MySQL 可以处理大量数据和查询,而不会减慢速度,还有一个庞大且充满热忱的开源社区为其提供支持。所有这些优势,再加上低成本和易用性,使 MySQL 成为了许多开发人员和企业的首选。

CIO 眼下需要关注的主要趋势:新一代低代码和无代码开发工具。立即了解如何利用这些工具的力量以及九个待办事项

MySQL 的常见问题解答

什么是 MySQL?为什么要使用它?

MySQL 是一个全球流行的开源数据库。开发人员和数据库管理员在其应用中使用 MySQL 来存储、更新和分析数据。

SQL 与 MySQL 有何区别?

SQL 是结构化查询语言 (Structured Query Language) 的缩写,这是一种用于管理和分析数据库中存储的数据的编程语言。MySQL 是一个数据库管理系统,产品名称部分取自于 SQL 语言,主要使用 SQL 来管理数据库中的数据。

MySQL 是否有云技术版本?

HeatWave MySQL 是一个完全托管的数据库服务,同时也是基于 MySQL Enterprise Edition 构建的云技术服务。它提供了用于加密、数据屏蔽、验证和数据库防火墙的高级安全功能。HeatWave 可将 MySQL 查询性能提高几个数量级,支持对 MySQL 中的事务处理数据进行实时分析,而无需面对通过 ETL 复制到单独分析数据库的复杂性、延迟、风险和成本。该产品可在 OCI、AWS 和 Microsoft Azure 上使用。

MySQL 与其他数据库相比如何?

MySQL 是一个开源关系型数据库。这意味着它会将数据存储在行和列中,并在 schema 中定义这些行与列之间的关系。市面上还有一些同样热门但不是开源关系型数据库(例如 Oracle Database)或者不是关系型数据库的数据库,其中包括 NoSQL 数据库(例如 MongoDB)。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. 除Oracle隐私政策外,本网站中提及的“Oracle”专指Oracle境外公司而非甲骨文中国 。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。