MariaDB是一个开放源代码,多线程关系型数据库管理系统,是MySQL的向后兼容替代品。它由MariaDB Foundation进行维护和开发,其中包括MySQL的某些原始开发人员。

在本教程中,将向您展示如何从官方MariaDB存储库安装最新版本的MariaDB。在撰写本文时,可从官方MariaDB存储库中获得的MariaDB最新版本10.9。

如果要安装MySQL而不是MariaDB,请查看如何在Debian 11安装MySQL教程。在继续学习本教程之前,请确保您以root或者具有sudo权限的用户登录。

在继续下一步之前,您应该访问MariaDB存储库页面,并检查是否有可用的新版本。要在Debian 11服务器安装MariaDB 10.9,请执行以下步骤。

首先使用curl命令下载并导入MariaDB GPG密钥到您的系统。

导入GPG密钥后,然后运行sudo sh -c "echo 'deb https://mirrors.aliyun.com/mariadb/repo/10.9/debian bullseye main' >>/etc/apt/sources.list" 命令将MariaDB添加到系统的source.list文件。

如果你需要安装其它版本的MariaDB版本的数据库,只需要改变URLhttps://mirrors.aliyun.com/mariadb/repo/10.9/debian的版本号10.9为你需要的版本号即可。

现在添加了存储库,接下来安装MariaDB,要能够从MariaDB存储库安装软件包,您需要先更新软件包列表,运行sudo apt update命令。

当运行sudo apt install mariadb-server时,安装过程可能会提示你输入密码,我们建议你留空,我们将在下一节中创建专用管理用户。

安装完成后,MariaDB将作为systemd服务自动启动,您可以通过运行命令sudo systemctl status mariadb查看MariaDB服务的状态

你也可以运行mysql -V命令并打印出MariaDB服务器的版本来验证安装,命令将会输出。

mysql  Ver 15.1 Distrib 10.9.2-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

sudo apt install software-properties-common
sudo apt purge mysql-server mysql-common
sudo apt autoremove
sudo apt-get install apt-transport-https curl

sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'

sudo sh -c "echo 'deb https://mirrors.aliyun.com/mariadb/repo/10.9/debian bullseye main' >>/etc/apt/sources.list"

sudo apt update
sudo apt install mariadb-server
sudo systemctl status mariadb
● mariadb.service - MariaDB 10.9.3 database server
     Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/mariadb.service.d
             └─migrated-from-my.cnf-settings.conf
     Active: active (running) since Fri 2022-09-30 06:36:57 +0430; 16s ago

连接MariaDB

当MariaDB安装完成后,你可能会想运行命令mysql -u root -p登录到MariaDB服务器。

如果你登录到Debian的用户不是root用户你将不能访问MariaDB服务器。如果你尝试使用密码登录也将被拒绝连接,因为在安装的过程我们并没有设置密码。

你将会收到类似于这样的消息(28000): Access denied for user 'root'@'localhost' (using password: YES)或者ERROR 1045 (28000): Access denied for user 'root'@'localhost'。

这意味着您无法通过提供密码来以root用户连接到MariaDB服务器。但你可以通过命令sudo mysql连接到MariaDB服务器。

sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
mysql>

如果您要使用外部程序,例如phpMyAdmin。以root用户连接到MariaDB服务器,则需要创建一个新的专用管理用户,该用户可以访问所有数据库。

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

FLUSH PRIVILEGES;

当创建新的专用用户后,你可以通过新的管理用户使用密码的方式登录,你可以在本地计算机上运行命令mysql -u admin -p进行测试。

如果你需要配置MariaDB用户的远程访问,可参考我们的教程如何允许MySQL数据库服务器的远程连接

如何允许MySQL数据库服务器的远程连接 | myfreax
默认情况下,MySQL服务器仅监听来自本地主机的连接,这意味着它只能由运行在同一主机上的应用程序访问

结论

现在您的MariaDB服务器已启动并正在运行,并且您知道如何从命令行连接到MariaDB服务器。