介绍
在本实验中,我们将探索 MySQL 的基本配置和使用。MySQL 是最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于许多数据库驱动的 Web 应用程序和热门网站。通过本实验,你将获得实际操作经验,包括验证 MySQL 安装、确保其初始设置的安全性、访问 MySQL shell 以及检查系统数据库和表。
在本实验中,我们将探索 MySQL 的基本配置和使用。MySQL 是最流行的开源关系型数据库管理系统(RDBMS)之一,广泛应用于许多数据库驱动的 Web 应用程序和热门网站。通过本实验,你将获得实际操作经验,包括验证 MySQL 安装、确保其初始设置的安全性、访问 MySQL shell 以及检查系统数据库和表。
为了方便起见,MySQL 已经预先安装在你的系统中。然而,了解安装过程仍然很重要。在典型的 Ubuntu 环境中,你可以使用以下命令来安装 MySQL:
以下命令仅用于信息参考。你不需要运行它们,因为 MySQL 已经在你的环境中安装好了。
## DO NOT RUN THESE COMMANDS
sudo apt update
sudo apt install mysql-server -y
apt update 命令用于更新包列表,以确保你拥有关于可用软件包的最新信息。apt install mysql-server -y 命令用于安装 MySQL 服务器包。-y 标志用于在安装过程中自动回答所有提示为“是”。
让我们从验证 MySQL 安装并检查其状态开始。
首先,点击桌面上的终端图标打开终端窗口:

进入终端后,运行以下命令以检查 MySQL 的状态:
sudo service mysql status
该命令使用 sudo 以管理员权限运行,这通常是系统级操作所需的。service mysql status 部分要求系统报告 MySQL 服务的当前状态。

你应该会看到输出显示 MySQL 已停止。这是预期的,因为我们尚未启动 MySQL 服务。
sudo service mysql start
等待几秒钟让服务启动,然后再次运行状态检查命令:

现在,让我们访问 MySQL shell 来执行一些基本操作。
要访问 MySQL shell,请使用以下命令:
sudo mysql -u root
该命令使用 sudo 以管理员权限运行,这通常是系统级操作所需的。mysql 命令用于访问 MySQL shell,而 -u root 标志指定你以 root 用户身份连接。
在这种情况下,无需提供密码,因为 LabEx VM 上的 MySQL 安装配置为允许 root 用户无需密码登录。这在开发环境中很常见,但在生产系统中不应这样做。
如果成功,你将看到欢迎信息和 MySQL 提示符:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 52
Server version: 10.6.18-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
你现在已经进入了 MySQL shell,可以在这里执行 SQL 命令。
MariaDB [(none)]> 提示符表示你已连接到 MariaDB(MySQL 的一个分支),并且当前没有使用任何特定的数据库。
需要注意的是,你看到的是 MariaDB 而不是 MySQL。不用担心——这不会影响你完成本实验或学习 MySQL 命令的能力。原因如下:
因此,当你在提示符或输出中看到“MariaDB”时,只需记住,就本实验而言,你可以将其视为 MySQL。你在这里学到的所有技能都直接适用于现实场景中的 MariaDB 和 MySQL。
现在我们已经进入了 MySQL shell,让我们来探索系统数据库。这些是随 MySQL 预装的数据库,包含了关于 MySQL 服务器本身的重要信息。
在 MySQL shell 中,运行以下命令:
SHOW DATABASES;
注意:不要忘记命令末尾的分号(
;)。SQL 命令必须以分号结尾。

该命令列出了 MySQL 服务器中存在的所有数据库。你应该会看到类似以下的输出:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
让我们分解一下这些数据库的作用:
information_schema:这是一个提供访问数据库元数据的数据库。mysql:该数据库包含 MySQL 服务器运行所需的信息。performance_schema:该数据库提供了一种在运行时检查服务器内部执行情况的方式。sys:该数据库包含一组对象,帮助数据库管理员(DBA)和开发人员解释由 performance_schema 收集的数据。在本实验中,我们将重点关注 mysql 数据库。让我们切换到它:
USE mysql;
现在,让我们看看这个数据库中有哪些表:
SHOW TABLES;
你将看到一个很长的表列表。这些表存储了 MySQL 的各种配置和操作数据。
现在我们已经了解了系统表,让我们来查看其中一个表的数据。mysql 数据库中的 user 表包含有关 MySQL 用户账户的信息。
运行以下命令查看 user 表的结构:
DESCRIBE user;
这将显示 user 表中的所有列。你会看到很多列,因为这个表包含了每个 MySQL 用户的详细信息。
现在,让我们来看一下这个表中的一些数据。我们将重点关注几个关键列:
SELECT User, Host, Password_expired FROM user;
此查询从 user 表中选择三个重要列:
User: MySQL 账户的用户名Host: 该用户允许连接的主机Password_expired: 密码是否已过期你应该会看到类似以下的输出:
+-------------+-----------+------------------+
| User | Host | password_expired |
+-------------+-----------+------------------+
| mariadb.sys | localhost | Y |
| root | localhost | N |
| mysql | localhost | N |
+-------------+-----------+------------------+
3 rows in set (0.001 sec)
此输出显示了系统中存在的 MySQL 用户账户。root 用户是主要的管理账户,而其他账户是 MySQL 用于各种目的的系统账户。
要退出 MySQL shell,请输入:
EXIT;
这将使你返回到常规的终端提示符。
在本实验中,我们学习了在 LabEx VM 中使用 MySQL 的基本步骤。我们验证了 MySQL 的安装,配置了初始安全设置,访问了 MySQL shell,探索了系统数据库,并检查了系统表中的数据。
我们学会了如何:
这些基本技能为你进行更高级的数据库管理任务奠定了基础。在你继续学习 MySQL 的过程中,你将在此基础上创建自己的数据库,编写复杂的查询,并将 MySQL 与各种应用程序集成。请记住,实践是掌握数据库管理的关键,所以不要犹豫尝试不同的命令,进一步探索 MySQL 的功能。