如何在 Ubuntu 24.04 安装MariaDB
MariaDB是一个开放源代码,多线程关系型数据库管理系统,是 MySQL 的向后兼容替代品。它由 MariaDB Foundation 进行维护和开发

MariaDB是一个开放源代码,多线程关系型数据库管理系统,是 MySQL 的向后兼容替代品。它由 MariaDB Foundation 进行维护和开发。
在本教程中,将向您展示如何从 MariaDB 软件源在 24.04 安装 MariaDB 最新版本。在撰写本文时,官方 MariaDB 软件源最新版本是 15.1。
前提条件
你有一台运行 Ubuntu 24.04 的服务器。具有 sudo 权限的用户账户。稳定的互联网连接。
更新系统包
在安装MariaDB之前,更新系统包以确保您拥有最新的软件包和安全补丁。打开终端。运行命令以 sudo apt update && sudo apt upgrade -y
更新包列表并升级已安装的包:
sudo apt update && sudo apt upgrade -y
安装 MariaDB
Ubuntu 24.04 的默认软件源包括 MariaDB,可以使用 apt
包管理器安装。运行命令 sudo apt install mariadb-server mariadb-client -y
安装MariaDB服务器和客户端:
sudo apt install mariadb-server mariadb-client -y
mariadb-server
:MariaDB数据库服务器。mariadb-client
:用于与数据库交互的命令行客户端。
安装完成后,MariaDB 服务会自动启动。可以通过以下命令验证服务是否正在运行:
sudo systemctl status mariadb
- 如果服务正在运行,您将看到“active (running)”状态。
- 如果未运行,可使用运行命令
sudo systemctl start mariadb
启动:
sudo systemctl start mariadb
- 要确保 MariaDB 在系统启动时自动运行,启用服务:
sudo systemctl enable mariadb
增强 MariaDB 安全
当 MariaDB 安装完成后,你可能会想运行命令 mysql -u root -p
登录到 MariaDB 服务器。
如果你登录到 Ubuntu 的用户不是 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 服务器。
因此 MariaDB 提供一个安全脚本,用于增强数据库的默认安全性。运行命令 sudo mysql_secure_installation
启动安全安装脚本:
sudo mysql_secure_installation
脚本将提示您完成以下步骤:
- 设置root密码:如果尚未设置root密码,请输入并确认新密码。如果已设置,请输入当前密码。
- 删除匿名用户:选择“Y”以删除匿名用户,防止未经授权的访问。
- 禁止远程root登录:选择“Y”以禁用远程root登录,增强安全性。
- 删除测试数据库:选择“Y”以删除默认的测试数据库。
- 重新加载权限表:选择“Y”以应用更改。
完成后,您的 MariaDB 安装将会得到更好的安全保护。
连接到 MariaDB 验证安装
检查 MariaDB 是否正确安装并运行。运行命令 mysql -u root -p
登录 MariaDB:
mysql -u root -p
输入在运行命令 sudo mysql_secure_installation
设置的 root 密码。
登录成功后,您将看到 MariaDB 提示符:
MariaDB [(none)]>
运行 SQL 语句 SELECT VERSION();
检查 MariaDB 版本确认安装:
SELECT VERSION();
退出 MariaDB 提示符:
EXIT;
MariaDB 配置(可选)
MariaDB 的配置文件位于 /etc/mysql/mariadb.conf.d/
目录中。通常,您需要编辑50-server.cnf
文件来调整服务器设置。
使用文本编辑器(如nano)编辑配置文件:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
根据需要调整设置,例如:
bind-address
:将绑定地址设置为0.0.0.0
以允许远程连接(默认是127.0.0.1
)。max_connections
:设置最大连接数。
保存更改并运行命令 sudo systemctl restart mariadb
重启 MariaDB 以应用配置:
sudo systemctl restart mariadb
创建数据库和用户(可选)
创建一个示例数据库和用户以开始使用 MariaDB。
登录MariaDB:
mysql -u root -p
创建一个新数据库:
CREATE DATABASE example_db;
创建一个新用户并设置密码:
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'your_password';
授予用户对数据库的权限:
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
刷新权限:
FLUSH PRIVILEGES;
退出 MariaDB:
EXIT;
测试普通用户访问
验证新用户是否可以访问数据库。
使用新用户登录:
mysql -u example_user -p
输入用户密码。
列出数据库以确认访问:
SHOW DATABASES;
您应该看到列出的 example_db
。
问题解决与排除
- MariaDB服务未运行:
- 检查服务状态:
sudo systemctl status mariadb
- 如果未运行,启动服务:
sudo systemctl start mariadb
- 无法以root用户登录:
- 如果忘记 root 密码,可以重置:
sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables &
mysql -u root
在 MariaDB 提示符重置密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
FLUSH PRIVILEGES;
停止并重启 MariaDB:
sudo systemctl stop mariadb
sudo systemctl start mariadb
- 连接错误:
- 确保 MariaDB 正在运行,并且防火墙允许 3306 端口( MariaDB 默认端口):
sudo ufw allow 3306
结论
您已在Ubuntu 24.04 成功安装并配置 MariaDB。现在您可以创建数据库、用户,并开始构建应用程序。如果需要进一步帮助,请参考 MariaDB 官方文档。