简介
MySQL 和 MariaDB 是用于存储和组织应用程序数据的关系型数据库系统。与普通文件不同,数据库服务器专门用于以受控方式处理结构化查询、并发访问、权限和持久化存储。
这意味着,你通常不会使用文本编辑器打开数据库文件并手动修改。你需要通过数据库客户端与数据库交互,而服务器会负责执行语法、权限和数据一致性方面的规则。
要管理数据,你需要了解如何与数据库服务器通信。在本实验中,你将学习使用命令行连接 MySQL、进入 SQL Shell,以及交互式浏览数据库的基本流程。
你将练习每位数据库管理员都需要掌握的核心流程:
- 连接到服务器。
- 查看服务器上存储的数据库。
- 选择要操作的指定数据库。
- 完成操作后安全断开连接。
连接数据库服务器
要与 MySQL 数据库交互,请使用 mysql 命令行客户端。这个工具可以向服务器发送命令并查看结果。
在本步骤中,你将以 root 用户登录。root 用户是拥有数据库服务器全部访问权限的超级管理员账户。
注意,不要把数据库的 root 用户与 Linux 的 root 用户混淆。它们属于不同系统中的两个不同管理身份,虽然都表示较高权限。
在终端中运行以下命令:
mysql -u root -p
选项说明:
-u root:指定要使用的用户名(root)。-p:要求客户端提示你输入密码。
按下 Enter 键后,系统会要求你输入密码。
输入 **root**,然后按 Enter 键。
安全提示:在 Linux 终端中输入密码时,屏幕上不会显示任何字符(不会显示星号或圆点)。这是为了防止旁人通过屏幕看到密码长度。直接输入
root,然后按 Enter 键即可。
身份验证成功后,命令行提示符会变为 mysql>。这表示你已经离开 Linux Shell,进入 MySQL 环境。
从此开始,你输入的命令会作为 SQL 语句发送给数据库服务器。提示符发生变化,是因为你现在处于不同的命令语言和上下文中。
查看可用数据库
连接成功后,你可以查看服务器上存储了哪些数据。单个 MySQL 服务器可以管理多个不同的数据库,例如分别用于博客、用户目录和指标数据的数据库。
要列出当前用户有权访问的所有数据库,请在 mysql> 提示符下运行以下 SQL 命令:
SHOW DATABASES;
重要规则:在 SQL 中,命令必须以分号 ; 结尾。
这是 SQL 客户端判断一条语句结束位置的方式之一。在交互式 Shell 中,分号相当于明确的「立即执行」标记。
它会告诉服务器:「命令已经输入完毕,请立即执行。」
如果忘记输入分号就按下 Enter 键,你会看到 -> 提示符。这表示服务器正在等待你完成命令。只需输入 ;,然后按 Enter 键即可修正。
你应该会看到一个数据库列表,其中包括 information_schema、mysql、performance_schema 和 sys 等标准系统数据库。
选择数据库
在读取或写入数据表之前,你必须告诉 MySQL 要操作哪个数据库。这样会设置当前「上下文」,后续查询就不必每次都输入数据库名称。
单个数据库服务器可以承载多个相互独立的数据库。USE 命令会更改当前上下文,使后续 SQL 语句针对选定的数据库执行。
我们将选择名为 mysql 的内部系统数据库。该数据库存储用户账户和权限信息。
执行以下命令:
USE mysql;
你应该会看到以下消息:Database changed。
注意:USE 命令是一个特殊例外,严格来说不一定需要分号,但建议始终保留分号,以养成良好习惯。
退出 SQL Shell
完成数据库操作后,应正确关闭连接。这样会返回标准的 Linux 命令行。
要退出 MySQL Shell,请输入:
exit
你会看到消息 Bye,命令行提示符也会返回熟悉的 labex:~/project$。
提示:你也可以使用 quit,或按键盘快捷键 Ctrl + D 退出。
总结
在本实验中,你学习了数据库交互的「Hello World」基础流程:
- 使用
mysql -u -p安全连接数据库。 - 使用
SHOW DATABASES;查看可用数据库。 - 使用
USE <database>;切换上下文。 - 安全退出数据库环境。
这四条简单命令构成了后续使用 MySQL 的基础。



