重启 MySQL Ubuntu2025年3月17日 | 阅读 7 分钟 MySQL 可以被描述为一个数据库管理系统(开源),通常作为著名的 LAMP (Linux, Apache, MySQL, Perl/PHP/Python) 堆栈的一部分安装。它应用结构化查询语言(SQL 的简称)并采用关系模型来管理其数据。 它是大数据最新生态系统中最为人熟知的技术。通常被称为最著名的数据库,目前无论在生产环境还是其他方面都得到广泛有效的使用。对于任何从事通用 IT 或企业数据工作的人来说,至少应该具备对 MySQL 的基本了解。 任何新手或不熟悉关系型系统的人都可以使用 MySQL 构建强大、安全、快速的数据存储系统。MySQL 的编程接口和语法也是进入其他著名结构化数据存储和查询语言的广阔世界理想的入口。 MySQL 概述MySQL 是用 C++ 和 C 编写的。MySQL 的 SQL 解析器是用 yacc 编写的,但它应用了自制的词法分析器。MySQL 在各种系统平台上实现,包括 Tru64、Sanos、SCO UnixWare、SCO OpenServer、SunOS、Symbian、Oracle Solaris、QNX、OS/2 Warp、OpenSolaris、OpenBSD、Novell NetWare、NetBSD、Microsoft Windows、macOS、Linux、IRIX、IBM i、eComStation、ArcaOS、HP-UX、FreeBSD、BSDi 和 AIX。此外,还有适用于 OpenVMS 的 MySQL 移植版。 MySQL 的客户端库和服务器软件本身采用了双重许可分发。它们是在 GPL 第 2 版或专有许可下提供的。可以通过官方手册获得支持。此外,还可以通过不同的 IRC 形式和频道获得免费支持。Oracle 通过其 MySQL Enterprise 产品提供付费支持。它们在服务范围和价格上有所不同。此外,还有第三方组织提供服务和支持。 MySQL 获得了各种好评,评论者认为它“在一般情况下实现得非常好”,并且“具备开发者接口,并且有文档”。此外,它也被认为是一个真正的多用户、稳定、快速的多线程 SQL 数据库服务器。 MySQL 规格 MySQL 是关系型的区分关系型数据库与其他数字存储范围的主要因素在于数据如何进行高级管理。许多数据库,如 MySQL,将记录存储在高度编码化、独立且分离的多个表中,而不是一个包含非结构化或半结构化文档的集合或存储库。 - 它允许关系数据库系统更好地利用诸如更新信息、数据检索或更复杂的操作(如聚合)等操作。
- 在数据库的每个内容之上指定一个逻辑模型,例如,指定单个列中允许的值、视图和表的特性,或者索引如何从两个不同表关联。
- 出于各种原因,有几种关系模型很受欢迎。
- 它们通过声明式和直观的编程语言鼓励用户,本质上是告诉数据库期望的结果是什么语言。
- 它将工作转移到 SQL 和 RDBMS 引擎,以更好地节省和强制执行宝贵人力资源和资源的逻辑规则。
开源任何企业或个人都可以自由地扩展、发布、修改和使用 Oracle 的开源 MySQL 代码库。该软件根据 GNU GPL(通用公共许可证)发布。 - 对于需要包含或集成到商业应用程序中的 MySQL 代码(或者当开源软件不是首要考虑因素时),许多企业可以从 Oracle 购买商业许可版本。
- 这些替代方案为企业提供了更大的灵活性,当决定使用 MySQL 进行实施时。
- 开源版本的社区和公共性质丰富了 MySQL 的在线支持和文档文化,同时也确保了新开发或维护的功能不会与用户需求偏离太远。
MySQL 是兼容的MySQL 被开发成与其他架构和技术兼容,尽管经常与 Web 服务或 Internet 应用程序协同工作。该关系型数据库管理系统运行在所有主要的计算环境中,包括类 Unix 操作系统,如**众多的 Linux 发行版、Windows** 和 macOS。 MySQL 的**客户端-服务器架构**指定了它可以支持一系列后端和不同的编程接口。由于语言和架构的相似性,数据可以与 MySQL 迁移到其分支(MariaDB)以及大多数其他关系型数据库管理系统。 - 已建立的第三方迁移和 Oracle 工具进一步允许 MySQL 将数据迁移到大量常用存储系统以及通过这些系统进行迁移,然而,这些工具是为云端或本地部署而开发的。
- MySQL 可用于集中式或分布式、虚拟化环境,甚至可以作为库用于小型、测试、应用程序。
- MySQL 与所有其他软件和系统的广泛兼容性使其在大多数情况下成为关系型数据库管理系统的实用选择。
易于使用也许,表格范式是最直观的,并且允许更大的可用性,尽管 MySQL 的关系性质和僵化的存储结构可能显得有限。事实上,MySQL 通过标准的但丰富的日期、时间、字母数字、数字和逻辑数据类型,以及更高级的地理空间或 JSON 数据,做出了许多妥协,以支持尽可能广泛的数据结构。 - 除了昂贵的内置功能集和简单的数据类型,MySQL 的生态系统还包含一系列工具,这些工具简化了从服务器管理到数据分析和报告的所有操作。
- 无论关系型数据库管理系统的整体架构如何,用户都可以找到一个 MySQL 的方面,允许他们根据需要编码和建模数据。
- MySQL 仍然是最简单易用和易于学习的数据库技术。
MySQL 的特性MySQL 提供两种不同的版本:**专有的 Enterprise Server** 和**开源的 MySQL Community Server**。MySQL Enterprise Server 通过一系列专有扩展进行区分,这些扩展像服务器插件一样安装,但它使用版本号系统,并使用相似的代码库开发。 MySQL 5.6 版本的一些主要功能解释如下  - 跨平台支持
- 一个 ANSI SQL 99 的广泛子集及扩展。
- 带有过程语言的存储过程,几乎遵循 PSM/SQL。
- 可更新视图
- 游标
- 触发器
- 信息模式
- 在线 数据定义语言(DDL 的简称),如果应用 InnoDB 存储引擎。
- 性能模式,它收集和组合关于查询性能和服务器执行的统计信息,用于监控目的。
- 一组 SQL 模式选项,用于控制运行时行为,例如严格模式以遵循 SQL 标准。
- 如果应用 InnoDB 存储引擎(默认),则具有事务的保存点。此外,NDB Cluster 存储引擎也支持事务。
- 查询缓存
- SSL 支持
- 使用 NDB 和 InnoDB Cluster 存储引擎时的 ACID 兼容性。
- 子 SELECT(例如,嵌套 SELECT)
- 内置对复制的支持
- 虚拟同步:可以使用 Group Replication 的内置插件或 Galera cluster 来实现 MySQL 服务器的自管理多主集群。
- 同步复制:MySQL Cluster 提供多主复制。
- 半同步复制:在此类型中,主到从复制,其中主等待复制。
- 异步复制:在此类型中,从单个主服务器到多个从服务器,或从多个主服务器到单个从服务器的主到从复制。
- 全文搜索和索引
- 嵌入式数据库库
- 分区表以及优化器中的分区剪枝
- Unicode 支持
- MySQL Cluster 的无共享集群
- 多个存储引擎,允许选择最适合应用程序中所有表的引擎。
- 许多原生存储引擎,包括 NDB Cluster、Blackhole、CSV、Archive、Federated、Memory (heap)、Merge、InnoDB 和 MyISAM。
- 提交分组,将来自多个连接的多个事务收集在一起,以提高每秒提交次数。
MySQL 的限制当使用除 InnoDB (默认) 之外的某些存储引擎时,MySQL 在某些实现功能(如外键引用)方面不符合完整的 SQL 标准。此外,在 MySQL 8.0.15 版本之前,检查约束可以被解析但被所有存储引擎忽略。 在 MySQL 5.7 版本之前,触发器仅限于每个时间/操作一次,这意味着最多只能指定一个触发器在某个操作后运行,例如,在同一表上进行**INSERT** 操作之前和之后运行一个触发器。不能在视图上指定触发器。 到 2038 年 1 月 19 日,MySQL 数据库的内置函数(如 UNIX_TIMESTAMP)将在 UTC 03:14:07 之后返回 0。最近曾尝试解决该问题,但该问题已被列入内部待办事项。 MySQL 的部署MySQL 可以使用源代码手动安装和构建,但除非需要独特定制,否则使用二进制包安装更为基本。包管理系统可以轻松获取和安装 MySQL,但大多数 Linux 发行版通常还需要进一步配置以调整优化和安全设置。 高可用性应用程序Oracle MySQL 提供高可用性应用程序,并提供一套工具,包括 MySQL shell 和 MySQL router。它们基于开源工具和组复制。相比之下,MariaDB 也提供类似的产品。 如何重启 MySQL 服务器?我们可以使用命令,即 'service',在 Ubuntu 中执行启动、停止和重启 MySQL 服务器等常见操作。首先,我们需要登录到我们的 Web 服务器并输入以下命令之一。 我们可以输入以下命令来启动 Ubuntu 中的 MySQL 服务器
 我们可以输入以下命令来停止 Ubuntu 中的 MySQL 服务器
 我们可以输入以下命令来重启 Ubuntu 中的 MySQL 服务器 我们可以输入以下命令来检查 Ubuntu 中 MySQL 服务器的状态(无论是否正在运行)

|