列出 MariaDB 中的数据库

2025年1月23日 | 阅读 9 分钟
List Databases in MariaDB

MariaDB 列出数据库定义

“MariaDB 列出数据库”命令可用于检索有关用户账户及其权限的信息,或列出 MariaDB 服务器上托管的所有数据库,包括其表。

要执行此类 MariaDB 命令,您必须先以 root 或管理员用户身份登录,以便获得对与数据库和记录相关的所有服务器操作权限。

必须执行 SHOW SQL SHOW DATABASES 命令才能查看已创建的 MariaDB 服务器数据库。一旦我们拥有服务器上所有数据库的列表,我们就可以选择要在其上启动操作并进行工作的数据库。您可以通过两种方式执行此操作:直接从命令行,或使用 PHP 脚本。

语法

此 MariaDB 列出数据库的语法如下

在这种情况下,MariaDB 服务器主机的 SHOW DATABASES 命令定义了数据库列表,而 SHOW SCHEMAS 命令定义了先前的 SHOW DATABASES 命令的同义词。再次,LIKE 子句表示要匹配的数据库名称,并且可以单独使用。可以使用其他子句,例如“LIKE”和“WHERE”,根据更典型的标准选择表行。借助这些子句,您可以选择用于从表中选择行的特定标准或模式。

但是,用户只能查看被授予特定权限的 MariaDB 数据库,除非具有全局 SHOW DATABASES 的能力。也可以使用“MySQL show”命令获得此类列表。

如果 MariaDB 服务器使用“-skip-show-database”选项启动,则执行“SHOW DATABASES”命令需要权限。此命令检索数据目录中已实现为目录的数据库列表。在此 MariaDB 实现中,数据库由数据目录中的目录表示。有可能结果包含与特定数据库不匹配的目录。

此外,SCHEMA 通过 Information_Schema_SCHEMATA_table 提供数据库信息。该模式包含各种分类,例如保存数据库对象元数据的字典表和为其他功能目的实现的系统表,这些表存储 MariaDB/MySQL 服务器在其执行期间所需的信息。

MariaDB 的优势

作为全球最大的数据库供应商 Oracle 的一部分,MySQL 包含在其中。MariaDB 仍然是它的竞争对手。在许多情况下,它都更优越。

  • XtraDB、FederatedX、Maria、PBXT 和 Maria 是 MariaDB 中一些额外的存储引擎。
  • 拥有多达 200,000+ 个连接,它拥有更大的连接池。
  • 使用 MariaDB,复制速度可以提高近两倍。
  • 总的来说,它更快、更用户友好。
  • 可以使用 MariaDB 创建带版本号的表。
  • 其 Oracle 兼容性功能可促进从 Oracle 数据库轻松过渡。
  • MariaDB 服务器支持列式存储。
  • MariaDB Xpand 是 MariaDB 提供的一种分布式 SQL 数据库解决方案。

MariaDB 不支持数据屏蔽或动态列。但是,它在许多方面具有优势。当您考虑在系统之间切换的便捷性时,您就会明白为什么 MariaDB 已经远远不止是 MySQL 的复制品了。

关于 MariaDB 最显著的事实

MariaDB 的客户端/服务器架构包括主数据库和请求并操作数据的多个客户端。客户端使用 SQL 语句与 MariaDB 服务器通信;在客户端,它们显示操作后的数据和检索到的数据。这种架构被认为是标准的。此外,MySQL 是最安全的系统之一,它具有 MariaDB 也拥有的安全功能。

那么让我们来谈谈 MariaDB 数据库的主要属性

SQL 兼容性

MariaDB 支持大多数 SQL 定义、过程、变量、函数和语句。有许多客户端应用程序;包括 mysqldump 和 mysqladmin(这些流行的命令行选项包含在 MariaDB 中)。一些有用的插件包括审计插件。所有这些选择一起使 MariaDB 中的数据库相关任务更加简单。

查询的并行执行

此有用选项包含在较新的 MariaDB 版本(10.0 及更高版本)中。可以同时运行多个查询。主要思想是将某些查询从主数据库镜像到辅助数据库。在实际使用中,它可以大大加快任务完成速度。这提供了对分析查询更有效、更快速的 OLAP 功能。这不是 MySQL 提供的选项。

线程池

MariaDB 提供一个预先打开的线程池,无需为每个连接创建新线程。发送查询时,新连接接受一个线程。每个查询都运行得更快,并产生更快的結果。MySQL 具有类似的功能,但仅在付费的企业版中。在 MariaDB 中,所有用户都可以免费使用。

数据库视图

数据库视图是性能优化的另一个方面。主要区别在于查询视图时涉及虚拟表。MariaDB 进程仅涉及该特定、专用表。无论查询的重点是哪个表,MySQL 都会包含与该视图相关的所有表。经过优化的数据库视图查询提供更快的速度和更少的负载。

虚拟列

虚拟列支持是 MariaDB 的一项突出功能。这些列能够进行数据库级别的计算。当多个应用程序访问同一列时,用户不必在每个应用程序中单独输入计算。相反,数据库将处理它。

ColumnStore

ColumnStore 的功能与整体性能的增强有关。MariaDB 的适当线性扩展是通过分布式数据架构确保的。通过这种方式,大量数据可以存储在数据库集群内的多个 MariaDB 服务器上。

FlashStorage

MariaDB 通过 MyRocks 存储引擎获得了 RocksDB 数据库。由于它提供了更高程度的数据压缩,因此该数据库与闪存存储器配合得更好。

MariaDB 的其他功能中还有更多选项。它们在官方文档中有详细描述。此外,得益于各种专业工具,用户即使没有广泛的 SQL 知识也可以有效地使用 MariaDB。

MariaDB 图形化工具

为了更有效地处理数据库,MariaDB 开发人员、管理员和分析师使用各种软件解决方案,就像他们使用所有 DBMS 管理工具一样。它们包括付费和免费选项,以及多功能工具和用于特定任务的专用实用程序。

MariaDB 与 MySQL 数据库工具相关。您会在许多工具的规格中看到这一点。Devart 的 dbForge for MySQL 是最受欢迎和最有用的 MariaDB 管理产品系列之一。这些工具非常适合编写查询、创建数据库脚本、备份和恢复任务、比较和同步 MariaDB 数据库、创建数据库和数据库项目、报告等。

功能强大、功能丰富的 dbForge Studio for MySQL 可以处理所有这些任务以及更多任务。Studio 工具包也以独立产品的形式提供。所有解决方案都提供功能齐全的免费试用版,以便您可以对其进行测试和正确评估。

如何在 MariaDB 中列出数据库?

我们将列出系统或换句话说,服务器的数据库。为此,我们必须将指定的用户名和密码作为 root 用户输入到 shell 中:u root -p。

接下来,为了以 Enter Password 的身份登录 shell,我们需要提供 root 密码。如果不是,您可以使用替代命令登录,即 -u root -pyour-specified_password。以 root 用户身份登录服务器后,您可以运行其余命令来查看所有数据库的列表。

为了输出显示当前创建的具有全局权限的数据库的结果集,我们将使用 SHOW DATABASES 命令。

再次假设用户希望列出存储在任何数据库中的表数据。如果是这样,我们必须执行以下命令来显示表,选择特定的数据库并使用它:USE Database name 之后的下一个命令是 SHOW Tables。

此外,您可以通过使用以下命令登录 shell 来查看系统的数据库:-u root -specified password -e "SHOW DATABASES;"

与我们需要授予 root 用户和管理员特殊权限才能创建新 MariaDB 数据库一样,在显示数据库列表时也需要相同的权限。

MariaDB 显示数据库概述

通过 MariaDB 的 show database 命令,用户可以访问 MariaDB 服务器上的所有数据库。当我们管理 MariaDB 数据库服务器时,最常见的任务之一是了解 MariaDB 服务器环境。服务器的列表数据库是我们开始的地方。在通过命令行使用 MariaDB 管理数据库时,show database 命令非常有用。登录后,我们需要列出 MariaDB 服务器上的每个数据库才能访问数据库。也可以使用各种子句显示数据库命令。

如何在 MariaDB 中以不同方式显示数据库?

让我们看看在 MariaDB 中显示数据库的几种方法

  • 在使用各种命令列出 MariaDB 服务器上的数据库之前,我们必须首先登录 MariaDB。
  • show database 命令是列出 MariaDB 服务器上所有数据库的第一种直接方法。使用此命令,直接获取 MariaDB 服务器的整个数据库集合。
  • 第二种方法是使用 show schema 命令列出 MariaDB 服务器上的每个数据库。show databases 是 show schemas 的同义词。
  • 第三,使用 where 和 like 子句列出数据库,以在 MariaDB 服务器上显示模式或单词。
  • 在 MariaDB 中,我们只能看到我们有权查看的数据库;如果没有,我们可以使用全局 show database 权限。使用 MySQL show 命令,我们也可以列出 MariaDB 服务器上的数据库。
  • 根据 MariaDB 实现数据库的方式,show database 的返回结果因数据目录中的目录而异。

示例

在运行 MariaDB 中列出数据库的示例之前,必须满足一些先决条件。

必须满足以下标准

  • 要完成任务,您必须在 Linux 操作系统上安装 MariaDB/MySQL。
  • 系统上已设置 root 密码。
  • 现在,根据已授予某些类型权限的用户,显示所有可访问的数据库。您可以在登录到 MariaDB 服务器作为系统 root 用户后,通过基于 Web 的界面 phpMyadmin 和命令行来执行这些命令来显示数据库。

让我们使用以下命令来显示服务器上可访问的 MariaDB 数据库列表


List Databases in MariaDB

运行命令以仅显示名称中包含特定模式或条件的数据库。


List Databases in MariaDB

如您所见,上面的查询中有一个条件,用于检索以字母“t”开头的特定数据库集。执行命令后,将仅检索以字母“t”开头的数据库。

在从服务器数据库或表中获取数据的过程中,LIKE 子句指定了一个模式。用户可以使用它来检索符合特定模式的数据。它允许模式匹配并完成强制的精确匹配。符号 % 表示零个或多个字符的匹配。另一种匹配单个字符的方法是使用 _(下划线符号)。

此外,您可以使用 SQL 查询关键字 INSERT、SELECT、WHERE、UPDATE 和 DELETE 与“LIKE”子句结合使用。总的来说,您必须提供子句所需的数据模式。然后将运行查询,并输出 true 或 false 的结果。可以在 LIKE 查询语句中使用和排列通配符 % 和 _。


List Databases in MariaDB

正如您从上面的语句中可以看到的,在此示例中,我们还通过使用 show schemas 命令列出了 MariaDB 服务器上的每个数据库。以下屏幕截图是 show databases 查询的最终输出示例。


List Databases in MariaDB

在上面的示例中,我们仅使用 select 子句来查看 MariaDB 服务器上当前正在使用的数据库。正在使用的数据库是一个示例。以下屏幕截图是 show databases 查询的最终输出示例。

结论

MariaDB List Databases 向我们提供了服务器上每个数据库的信息。这仅限于管理员或 root 用户,并且需要特定的全局权限才能起作用。利用 Galera 集群技术,Maria 集成了多个关系数据库,并在支持多种存储引擎的同时控制其操作,实现高吞吐量。