如何在 Debian 10 上安装 MariaDB

MariaDB 是一个开源的,多线程的关系数据库管理系统,是 MySQL 向后兼容的替代品。 MariaDB 是 Debian 中 MySQL 的默认实现。

本教程介绍如何在 Debian 10 上安装 MariaDB 。

在 Debian 10 上安装 MariaDB

在撰写本文时, Debian main 中提供的最新 MariaDB 版本是版本 10.3 。

以 root 身份或使用 sudo 权限的用户执行以下步骤,在 Debian 10 上安装 MariaDB :

  1. 首先更新包索引:

    sudo apt update
    
  2. 通过运行以下命令安装 MariaDB 服务器和客户端软件包:

    sudo apt install mariadb-server
    
  3. MariaDB 服务将自动启动。要验证它,请检查服务状态:

    sudo systemctl status mariadb
    

    输出应该如下所示:

    ●  mariadb.service - MariaDB 10.3.15 database server
      Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
      Active: active (running) since Thu 2019-07-11 14:36:28 PDT; 19min ago
        Docs: man:mysqld(8)
              https://mariadb.com/kb/en/library/systemd/
    Main PID: 4509 (mysqld)
      Status: " Taking your SQL requests now... "
        Tasks: 30 (limit: 2359)
      Memory: 78.6M
      CGroup: /system.slice/mariadb.service
              └─ 4509 /usr/sbin/mysqld

保护 MariaDB

MariaDB 附带了一个脚本 mysql_secure_installation ,可以帮助您提高安装的安全性。请在终端中运行:

sudo mysql_secure_installation

系统将提示您为 root 帐户设置密码,删除匿名用户,限制 root 用户对本地计算机的访问权限并删除测试数据库。

...
Enter current password for root (enter for none):
...
Set root password? [Y/n] Y
New password:
Re-enter new password:
...
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
...
Thanks for using MariaDB!

如果选中,脚本将重新加载权限表,确保更改立即生效。

所有步骤都会详细解释,建议对所有问题回答“Y”。

认证方法

默认情况下, MariaDB root 用户使用 unix_socket 身份验证插件,该插件在调用 mysql 客户端工具时检查有效用户 ID  。

这意味着只有在 mysql 以系统 root 身份调用命令或将 sudo 添加到命令时,才能以 root 身份连接到 MariaDB 服务器。

为了提高安全性,建议保留默认的身份验证插件,并允许 root 用户仅通过 Unix 套接字进行身份验证。

如果要将根身份验证更改为经典身份验证,请登录 MariaDB 服务器:

sudo mysql

运行以下语句以更改身份验证插件:

ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_root_passwd';

您现在可以使用新密码连接到 MariaDB 服务器:

mysql -u root -p

更改身份验证插件后同样会允许您从外部程序(如 phpMyAdmin) 以 root 用户身份登录

结论

在本教程中,我们向您展示了如何在 Debian 10 服务器上安装和保护 MariaDB 。