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 官方文档。