如何在 Ubuntu 20.04 上安装 MariaDB

2020-05-24 10:23:35 浏览数 (2)

本文最先发布在: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

代码语言:javascript复制
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。你可以通过运行下面的命令做到:

代码语言:javascript复制
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

0 人点赞