本文最先发布在:https://cloud.tencent.com/developer/article/1631666
MariaDB 是一个开源的关系型数据库管理系统,向后兼容,可替代 MySQL。
MariaDB是由 MySQL 的一些原开发者和很多社区成员共同开发的。
这篇指南将会讲解如何在 Ubuntu 20.04 上安装和保护 MariaDB。
一、前提条件
我们假设你拥有 Ubuntu 服务器的管理权限,或者以 root 身份 或者以拥有 sudo 权限的用户身份登录系统。
二、在 Ubuntu 上安装 MariaDB
在写作的时候,Ubuntu 软件源仓库中的 MariaDB 最新版是 10.3。想要安装它,运行下面的命令:
代码语言:javascript复制sudo apt update
sudo apt install mariadb-server
一旦安装完成,MariaDB 服务将会自动启动。 想要验证数据库服务器是否正在运行,输入:
代码语言:javascript复制sudo systemctl status mariadb
输出将会显示服务已经启用,并且正在运行:
代码语言:javascript复制 ...
三、保护 MariaDB
MariaDB 服务器有一个脚本叫做mysql_secure_installation
,它允许你可以很容易提高数据库服务器安全。
不带参数运行脚本:
代码语言:javascript复制sudo mysql_secure_installation
脚本将会提示你输入 root 密码:
代码语言:javascript复制Enter current password for root (enter for none):
因为你没有设置 root 密码,仅仅输入回车"Enter”。
在下一个提示中,你会被问到是否 MySQL root 用户设置密码:
代码语言:javascript复制Set root password? [Y/n] n
输入n
。在 Ubuntu 上, MariaDB 用户默认使用auth_socket
进行鉴权。这个插件会检查启动客户端的本地系统用户是否和指定的 MariaDB 用户名相匹配。
下一步,你将会被要求移除匿名用户,限制 root 用户访问本地机器,移除测试数据库,并且重新加载权限表。对于所有的问题,你应该回答Y
:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
四、以 root 身份登录
想要在终端命令行和 MariaDB 服务器进行交互,使用mysql
客户端工具或者mariadb
。这个工具被作为 MariaDB 服务器软件包的依赖软件被安装。
这个auth_socket
插件将会通过 Unix socket 文件验证用户来连接localhost
。这就意味着你不能通过提供密码来验证 root。
想要以 root 用户名登录 MariaDB 服务器,输入:
代码语言:javascript复制sudo mysql
你将会被展示 MariaDB shell,就像下面一样:
代码语言:javascript复制Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 61
Server version: 10.3.22-MariaDB-1ubuntu1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> Bye
如果你想使用第三方程序,例如 phpMyAdmin ,以 root 身份登录你的 MariaDB 服务器,你有两个选择。
第一个是将鉴权方法从auth_socket
修改为mysql_native_password
。你可以通过运行下面的命令做到:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;
第二个,推荐的方式就是创建一个管理员用户,可以访问所有的数据库:
代码语言:javascript复制GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';
你可以将这个管理员用户命名为任何你想要的名字,但是请确保你使用了一个强大的密码。
五、总结
我们已经向你展示了如何在 Ubuntu 20.04 上安装 MariaDB。现在你的数据库服务器已经上线,并且正在运行。下一步,你可以去学习如何管理 MariaDB 用户账号和数据。
如果你有任何疑问,请通过以下方式联系我们:
微信: sn0wdr1am86
微信群: 加上面的微信,备注微信群
QQ: 3217680847
QQ 群: 82695646