MariaDB是一个开源关系数据库管理系统,向后兼容MySQL,你可以使用MariaDB直接替代MySQL。它由MySQL原始开发人员和社区共同开发。

在本教程中,将说明如何在CentOS 8上安装和配置MariaDB。在撰写本文时,CentOS 8存储库中可用的MariaDB版本是10.8。

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

在继续下一步之前,您应该访问MariaDB存储库页面,并检查是否有可用的新版本。要在CentOS 8安装MariaDB 10.8。运行执行以下步骤安装MariaDB在CentOS。

首先创建MariaDB的yum仓库配置,在/etc/yum.repos.d目录下,我们建议将文件命名为MariaDB.repo或者类似的名称,当然你可以使用你喜欢的名称。

你可以运行我们使用catteeheredoc和管道组合的脚本创建文件/etc/yum.repos.d/mariadb.repo

当创建yum仓库配置文件后,你就可以运行脚本运行命令sudo dnf install MariaDB-server安装MariaDB数据库。

在安装过程中可能会看到类似于这样的提示Importing GPG key 0x8483C65D:。请按Y允许导入即可。

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

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

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

cat <<"EOF" | sudo tee /etc/yum.repos.d/mariadb.repo
# MariaDB 10.8 CentOS repository list - created 2022-09-10 06:57 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.aliyun.com/mariadb/yum/10.8/centos8-amd64
module_hotfixes=1
gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

sudo dnf install MariaDB-server
sudo systemctl enable mariadb
sudo systemctl start mariadb
sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-12-08 21:05:26 UTC; 15s ago
   ...

连接MariaDB

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

如果你登录到CentOS的用户不是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服务器。