本教程的先前版本由Brian Boucheron编写
介绍
MariaDB是一个开源关系数据库管理系统,通常用作 MySQL 的替代品,作为流行的LAMP(Linux、Apache、MySQL、PHP/Python/Perl)堆栈的数据库部分。它旨在成为 MySQL 的替代品。
本快速入门教程介绍了如何在 Ubuntu 20.04 服务器上安装 MariaDB 并使用安全的初始配置对其进行设置。它还将介绍如何为密码访问设置额外的管理帐户。
先决条件
要学习本教程,您需要一台运行 Ubuntu 20.04 的服务器。此服务器应具有非 root 管理用户和使用 UFW 配置的防火墙。按照我们针对 Ubuntu 20.04 的初始服务器设置指南进行设置。
第 1 步 – 安装 MariaDB
在安装 MariaDB 之前,使用以下命令更新服务器上的包索引apt
:
- sudo apt update
然后安装包:
- sudo apt install mariadb-server
从默认存储库安装时,MariaDB 将自动开始运行。要对此进行测试,请检查其状态。
- sudo systemctl status mariadb
您将收到类似于以下内容的输出:
Output● mariadb.service - MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 25914 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 2345)
Memory: 65.6M
CGroup: /system.slice/mariadb.service
└─25914 /usr/sbin/mysqld
. . .
如果 MariaDB 未运行,您可以使用命令启动它sudo systemctl start mariadb
。
第 2 步 – 配置 MariaDB
运行随 MariaDB 一起安装的安全脚本。这将引导您完成一系列提示,您可以在其中对 MariaDB 安装的安全选项进行一些更改:
- sudo mysql_secure_installation
第一个提示将要求您输入当前的数据库root密码。由于您还没有设置,按ENTER
表示“无”。
Output. . .
Enter current password for root (enter for none):
下一个提示询问您是否要设置数据库root密码。在 Ubuntu 上,MariaDB的root帐户与自动系统维护密切相关,因此我们不应更改为该帐户配置的身份验证方法。键入N
,然后按ENTER
。
Output. . .
Set root password? [Y/n] N
从那里,您可以按Y
,然后ENTER
接受所有后续问题的默认值。这将删除一些匿名用户和测试数据库,禁用远程root登录,然后加载这些新规则。
步骤 3 —(可选)创建使用密码身份验证的管理用户
在运行 MariaDB 10.3 的 Ubuntu 系统上,MariaDB根用户unix_socket
默认设置为使用插件而不是密码进行身份验证。由于服务器使用root帐户执行日志轮换和启动和停止服务器等任务,因此最好不要更改root帐户的身份验证详细信息。相反,软件包维护者建议为基于密码的访问创建一个单独的管理帐户。
为此,请从终端打开 MariaDB 提示符:
- sudo mariadb
然后创建一个具有root权限和基于密码的访问权限的新用户。请务必更改用户名和密码以符合您的偏好:
- GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
刷新权限以确保它们已保存并在当前会话中可用:
- FLUSH PRIVILEGES;
在此之后,退出 MariaDB shell:
- exit
您可以使用该mysqladmin
工具测试这个新用户,该工具是一个允许您运行管理命令的客户端。以下mysqladmin
命令以管理员用户身份连接到 MariaDB,并在提示输入用户密码后返回版本号:
- mysqladmin -u admin -p version
您将收到类似于以下内容的输出:
Outputmysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Server version 10.3.22-MariaDB-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 4 min 49 sec
Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615
结论
在本指南中,您安装了 MariaDB 关系数据库管理系统,并使用mysql_secure_installation
随附的脚本对其进行保护。您还可以选择创建使用密码身份验证的新管理用户。
现在您拥有一个正在运行且安全的 MariaDB 服务器,以下是您可以使用该服务器执行的后续步骤的一些示例: