此教程的早期版本是由Brian Boucheron撰写的(https://www.digitalocean.com/community/users/bboucheron)_
介绍
MariaDB是一个开源的关系式数据库管理系统,通常用作MySQL的替代品,作为流行的LAMP(https://andsky.com/tech/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04)(Linux,Apache,MySQL,PHP/Python/Perl)数据库堆栈的数据库部分。
这个快速启动教程描述了如何在Ubuntu 20.04服务器上安装MariaDB,并将其设置为安全的初始配置,还将涵盖如何为密码访问设置额外的管理帐户。
前提条件
要遵循本教程,您将需要运行 Ubuntu 20.04 的服务器。本服务器应该具有非根管理用户和与 UFW 配置的防火墙。
步骤 1 – 安装 MariaDB
在安裝 MariaDB 之前,請在您的伺服器上更新「apt」的包索引:
1sudo apt update
然后安装包:
1sudo apt install mariadb-server
当从默认存储库安装时,MariaDB 将自动启动运行。
1sudo systemctl status mariadb
您将收到类似于以下的输出:
1[secondary_label Output]
2● mariadb.service - MariaDB 10.3.22 database server
3 Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
4 Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago
5 Docs: man:mysqld(8)
6 https://mariadb.com/kb/en/library/systemd/
7 Main PID: 25914 (mysqld)
8 Status: "Taking your SQL requests now..."
9 Tasks: 31 (limit: 2345)
10 Memory: 65.6M
11 CGroup: /system.slice/mariadb.service
12 └─25914 /usr/sbin/mysqld
13. . .
如果 MariaDB 未运行,则可以使用sudo systemctl start mariadb
命令启动。
步骤 2 – 配置 MariaDB
运行与 MariaDB 安装的安全脚本,这将带您通过一系列提示,您可以对 MariaDB 安装的安全选项做出一些更改:
1sudo mysql_secure_installation
第一个提示将要求您输入当前数据库 root 密码. 由于您尚未设置一个密码,请按ENTER
来表示没有
。
1[secondary_label Output]
2. . .
3Enter current password for root (enter for none):
下一个提示会问你是否想设置数据库 root 密码. 在Ubuntu上,MariaDB 的 ** root** 帐户与自动系统维护密切相关,所以我们不应该为该帐户更改配置的身份验证方法。
1[secondary_label Output]
2. . .
3
4Set root password? [Y/n] N
从那里,您可以按Y
,然后按ENTER
,以接受所有后续问题的默认值,从而删除一些匿名用户和测试数据库,禁用远程 root 登录,然后加载这些新规则。
步骤 3 — (可选) 创建使用密码身份验证的管理用户
在运行 MariaDB 10.3 的 Ubuntu 系统中, root MariaDB 用户被设置为默认使用unix_socket
插件进行身份验证,而不是使用密码。由于服务器使用 ** root** 帐户进行日志旋转和开始和停止服务器等任务,最好不要更改 ** root** 帐户的身份验证细节。
为此,请从您的终端打开 MariaDB 提示:
1sudo mariadb
然后创建一个具有 root 权限和基于密码的访问权限的新用户. 请确保更改用户名和密码以匹配您的偏好:
1GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
清除权限,以确保它们在当前会话中存储和可用:
1FLUSH PRIVILEGES;
接下来,输出 MariaDB 壳:
1exit
您可以使用mysqladmin
工具测试这个新用户,这个客户端允许您运行管理命令. 以下命令mysqladmin
将连接到 MariaDB 作为 admin 用户,并在提示用户密码后返回版本号:
1mysqladmin -u admin -p version
您将收到类似于此的输出:
1[secondary_label Output]
2mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64
3Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
4
5Server version 10.3.22-MariaDB-1ubuntu1
6Protocol version 10
7Connection Localhost via UNIX socket
8UNIX socket /var/run/mysqld/mysqld.sock
9Uptime: 4 min 49 sec
10
11Threads: 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服务器,这里有一些下一步的例子,你可以采取与服务器的工作: