网站搜索

什么是 MySQL? MySQL 是如何工作的?


MySQL 是世界上最流行的企业级开源关系数据库管理系统 (RDBMS),Facebook、Google、Adobe、阿尔卡特朗讯和 Zappos 都在使用它,以及许多在线网站/应用程序。

它由Oracle Corporation 开发、分发和支持。它是一个跨平台、功能强大、灵活且可扩展的关系数据库,基于用于创建和操作数据库的SQL结构化查询语言)标准化语言。

最新版本的MySQL(撰写本文时为8.0版本)支持NoSQL(“Not Only SQL”)强>”)文档数据库。它可以安装在 Linux、macOS 和其他类 UNIX 操作系统以及 Windows 中。

下载MySQL

  • 下载 MySQL 社区版
  • 下载MySQL企业版

MySQL数据库软件是开源的,它使用GPLGNU通用公共许可证)。重要的是,它提供两个不同的版本:开源的MySQL Community Server,您可以免费下载、访问源代码和使用,以及专有的MySQL Enterprise版和其他商业产品,需要每年订阅并包括专业支持和许多其他好处。

MySQL 用途广泛,包括 Web 数据库(最常见的用途)、数据仓库、电子商务和日志记录应用程序。它是设置 LAMP 的常用软件之一(Linux + Apache + MySQL + >PHP) 或 LEMP (Linux + Engine-X + MySQL + PHP )堆栈,用于 Web 开发和托管在线内容管理系统,例如 WordPressMagnetoJoomlaDrupal< 等等。除了PHP之外,它还支持许多其他语言,包括PerlNode.jsPython等。

查看这些在 Linux 上使用 MySQL 数据库设置应用程序的相关指南。

  • 如何在 CentOS 8 上安装 LAMP 服务器
  • 如何在 CentOS 8 上安装 LEMP 服务器
  • 如何在 Ubuntu 20.04 中使用 PhpMyAdmin 安装 LAMP Stack
  • 如何在 Ubuntu 20.04 中使用 PhpMyAdmin 安装 LEMP Stack
  • 如何在 Ubuntu 20.04 中使用 Apache 安装 WordPress

MySQL 是如何工作的?

与大多数数据库管理系统一样,MySQL 具有客户端-服务器架构,可以在网络环境中使用。服务器程序驻留在存储数据库文件的同一物理或虚拟系统上,它负责与数据库的所有交互。

各种客户端程序,例如用于数据库管理的MySQL工具或任何用其他编程语言编写的应用程序,都可以连接到服务器并发出数据库请求。服务器处理客户端请求并将结果返回给客户端。

客户端可以驻留在与服务器相同的系统上,也可以驻留在远程主机上,并通过网络或 Internet 连接向服务器发送数据库请求。重要的是,MySQL 服务器必须正在运行,客户端才能连接到它。

MySQL 的主要特性

MySQL采用多层服务器设计,模块独立。该服务器是多线程、多用户、可扩展的,并且针对任务关键型、重负载生产系统进行了稳健的设计。它提供事务性和非事务性存储引擎,并支持添加其他存储引擎。

  • MySQL 使用非常快的带有索引压缩的 B 树表、非常快的基于线程的内存分配系统,并使用优化的嵌套循环连接执行非常快的连接。
  • 它支持许多数据类型,例如有符号/无符号整数、浮点类型(float 和 double)、char 和 varchar、binary 和 varbinary、blob 和 text、Date、DateTime 和 timestamp、year、set、enum 和 OpenGIS 空间类型。
  • MySQL 还通过主从复制、多节点集群以及备份和恢复/恢复来支持数据冗余和高可用性 (HA)。它提供了广泛的备份类型和策略,您可以从中选择最适合您的部署要求的方法。
  • 其安全功能包括用户帐户管理和访问控制、基于主机的验证、加密连接、实现安全性的多个组件和插件(例如身份验证插件、连接控制插件、密码验证组件等等)以及 FIPS (联邦信息处理标准 140-2 (FIPS 140-2))服务器端模式,适用于服务器执行的加密操作。

此外,您还可以通过遵循 Linux 的 MySQL/MariaDB 安全最佳实践来确保额外的安全性。但一如既往,确保您已经实施了良好的网络和服务器安全,以保证数据库服务器的全方位安全。

MySQL 客户端和工具

MySQL 附带了多个客户端程序,例如流行的命令行实用程序:mysql、mysqladmin 和 mysqldump,用于管理数据库。要连接到 MySQL 服务器,客户端可以使用多种协议,例如任何平台上的 TCP/IP 套接字或 UNIX 系统(如 Linux)上的 UNIX 域套接字。

要从另一种语言或环境连接并执行 MySQL 语句,可以使用基于标准的 MySQL 连接器(为客户端应用程序提供与 MySQL 服务器的连接)和适用于最流行编程语言的 API(使用以下命令提供对 MySQL 资源的低级访问):经典的 MySQL 协议或 X 协议)。

一些流行的连接器和 API 包括 ODBC(开放数据库连接)、Java(JDBC – Java 数据库连接)、Python、PHP、Node.js、C++、Perl、Ruby 以及本机 C 和嵌入式 MySQL 实例。

您会发现以下有关 MySQL 的文章很有用:

  • 如何在 Debian 10 上安装最新的 MySQL 8
  • 15 个有用的 MySQL/MariaDB 性能调整和优化技巧
  • 解决 MySQL 中常见错误的实用技巧
  • 如何在 MySQL 8.0 中重置 root 密码
  • 如何在 Linux 中更改默认 MySQL/MariaDB 端口
  • 4 个有用的命令行工具来监控 Linux 中的 MySQL 性能