简介
在 Web 开发和数据管理中,可靠的数据库必不可少。MariaDB 是一种常用的开源关系数据库管理系统,由 MySQL 的原始开发者创建,并且在很大程度上与 MySQL 兼容。
关系数据库是指将数据组织成由行和列组成的表,并在逻辑上关联相关数据。这种模型具有结构清晰、便于查询等特点,非常适合存储用户、订单和库存等业务数据,因此成为 Web 应用的基础。
需要区分数据库服务器和它管理的数据。安装 MariaDB 并不意味着已经创建了应用程序表,而是安装了以后用于存储和查询这些表的服务。
在本实验中,你将在 Ubuntu Linux 系统上从头开始设置 MariaDB 数据库服务器。你将完整执行以下流程:安装软件、启动服务、保护安装以防止未经授权的访问,最后连接数据库并验证其是否正常工作。
完成本实验后,你将拥有一个可以用于项目的完整数据库服务器。
安装数据库服务器
在本步骤中,你将安装 MariaDB 服务器软件包。Ubuntu 使用 apt(Advanced Package Tool,高级软件包工具)管理软件安装。
在终端中执行以下命令,安装 MariaDB 服务器。安装软件需要管理员权限,因此这里使用 sudo。
此时安装的是服务器软件,还不会打开数据库 Shell。这与之前接触过的 Web 服务器和其他守护进程遵循相同的服务模式。
sudo apt install mariadb-server -y
说明:
sudo:以管理员(超级用户)身份运行命令。apt install:用于安装软件包的命令。mariadb-server:要安装的软件包名称。-y:自动对所有确认提示回答「yes」,使安装过程更顺畅。
注意: 在某些 LabEx 环境中,MariaDB 可能已经预装。如果是这种情况,该命令只会检查并确保你使用的是最新版本,这完全正常。
命令执行完成后,检查版本以验证安装结果:
mariadb --version
你应该会看到类似 mariadb Ver 15.1 Distrib 10.6.x... 的输出,这表示软件已经安装到系统中。
启动数据库服务
安装软件会将文件放到磁盘上,但不一定会自动启动程序。数据库服务器通常作为后台「服务」(也称为守护进程)运行,并监听连接请求。
这种客户端—服务器模型是 SQL 数据库工作方式的核心。应用程序和管理员连接到服务器、发送查询并接收结果,而不是直接读取原始数据文件。
使用以下命令启动 MariaDB 服务:
sudo service mysql start
注意:虽然安装的是 MariaDB,但出于兼容性原因,服务名称通常仍然是 mysql。
检查服务状态,确认服务已正常运行:
sudo service mysql status
你应该会看到表示服务处于 active (running) 状态的输出。如果看到该状态,说明数据库服务器已经启动,并可以接受连接。
保护安装
默认情况下,全新的 MariaDB 安装包含一些便于测试但不适合生产环境的设置。例如,它可能允许匿名用户访问,或者 root 用户密码为空。
MariaDB 提供了一个安全脚本来解决这些问题。使用以下命令运行该脚本:
该脚本的目标是移除不安全的默认设置并收紧访问权限。这是基础设施软件中常见的模式:首次安装注重便利性,后续步骤再对配置进行加固,以便更安全地实际使用。
sudo mysql_secure_installation
该脚本是交互式的,会依次提出一系列问题。按照以下说明回答:
- Enter current password for root:按回车键(Enter)(因为当前还没有密码)。
- Switch to unix_socket authentication:输入 n,然后按回车键。
- Change the root password?:输入 n,然后按回车键(本实验为了简化登录,将保留无密码设置)。
- Remove anonymous users?:输入 Y,然后按回车键。
- Disallow root login remotely?:输入 Y,然后按回车键。
- Remove test database and access to it?:输入 Y,然后按回车键。
- Reload privilege tables now?:输入 Y,然后按回车键。
脚本执行结束后,会输出「All done!」。此时,数据库已经针对常见漏洞完成加固。
连接并验证
在最后一个步骤中,你将验证是否可以连接到数据库服务器。由于使用的是默认配置,root 用户可以通过 sudo 连接,无需输入密码。
登录 MariaDB monitor(数据库的命令行界面):
sudo mariadb -u root
如果连接成功,命令行提示符会变成类似下面的形式:
MariaDB [(none)]>
这个特定的提示符表示你现在正在直接向数据库服务器发出命令,而不是向 Linux 操作系统发出命令。
从这里开始,区分这两个环境非常重要。MariaDB Shell 能理解 SQL 命令,而不能理解普通的 Linux Shell 命令。也就是说,你现在已经进入了另一个命令环境。
要断开连接并返回普通的 Linux 终端,输入:
exit
恭喜!你已经成功安装、保护并连接到 MariaDB 数据库。
总结
在本实验中,你成功设置了一个可靠的数据库环境。你学习了如何:
- 使用软件包管理器安装 MariaDB 服务器。
- 启动并验证数据库服务。
- 移除不安全的默认设置,以保护数据库安装。
- 使用命令行客户端连接数据库。
这些是为任何应用准备数据库服务器所需的基本步骤,可以确保服务器既能正常运行,又具备安全性。



