安装 MariaDB 数据库服务器

LinuxBeginner
立即练习

简介

在 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

该脚本是交互式的,会依次提出一系列问题。按照以下说明回答:

  1. Enter current password for root:按回车键(Enter)(因为当前还没有密码)。
  2. Switch to unix_socket authentication:输入 n,然后按回车键。
  3. Change the root password?:输入 n,然后按回车键(本实验为了简化登录,将保留无密码设置)。
  4. Remove anonymous users?:输入 Y,然后按回车键。
  5. Disallow root login remotely?:输入 Y,然后按回车键。
  6. Remove test database and access to it?:输入 Y,然后按回车键。
  7. 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 服务器。
  • 启动并验证数据库服务。
  • 移除不安全的默认设置,以保护数据库安装。
  • 使用命令行客户端连接数据库。

这些是为任何应用准备数据库服务器所需的基本步骤,可以确保服务器既能正常运行,又具备安全性。