MariaDB 简介
MariaDB 是开源的关系型数据库服务器,由 MySQL 分支而来。它与绝大多数为 MySQL 编写的应用兼容(WordPress、Nextcloud、Laravel、Django、Matomo 等),使用标准 SQL 进行管理。
服务器交付时,mariadb-server 软件包已从所选发行版的软件源安装完成(Debian 12、Debian 13、Ubuntu 20.04、22.04 或 24.04)。mariadb 服务已启用并启动,重启后会自动运行。具体版本取决于你选择的发行版。
默认情况下,MariaDB 只监听 127.0.0.1:3306,不会向互联网暴露任何端口。这是一个稳妥的起点,适合与数据库部署在同一台 VPS 上的应用。你可以通过 sudo mariadb 以本地 root 身份连接。
用 MariaDB 可以做什么
从官方软件源安装
软件包来自发行版软件源,因此可以像系统其他组件一样通过
apt获取安全更新。服务随系统开机启动
mariadb服务通过systemctl enable --now启用,交付后即在运行,VPS 每次重启后也会自动恢复。仅监听本机 localhost
3306 端口只能从服务器本机(127.0.0.1)访问。在你主动开放之前,外部无法看到这个数据库。
命令行客户端
执行
sudo mariadb即可以本地 root 身份打开 SQL 会话,无需另行查找密码,可直接创建数据库和用户。兼容 MySQL
常见的 MySQL 连接器和工具都能配合 MariaDB 使用。迁移现有应用通常只需少量改动。
支持事务的 InnoDB 引擎
提供 ACID 事务、外键和行级锁,适合写入频繁的 Web 应用、API 和内部工具。
MariaDB 快速上手
从下单到上线,只需几分钟。
- 1
订购并勾选 MariaDB
选择位于巴黎或法兰克福的 Linux VPS,系统选 Debian 或 Ubuntu,然后在订购表单的“应用”选项卡中勾选 MariaDB。
- 2
连接已交付的服务器
VPS 交付后,使用收到的登录信息通过 SSH 连接,再以本地 root 身份打开 MariaDB 客户端。安装完成时显示的提示信息中也给出了同样的命令。
Bashssh USER@SERVER_IP sudo mariadb - 3
创建数据库和用户
不要在应用中使用 root。请创建专用数据库,以及仅能访问该库的用户,并设置足够长且唯一的密码。
Bashsudo mariadb -e "CREATE DATABASE app_db CHARACTER SET utf8mb4; CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'STRONG_PASSWORD'; GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost'; FLUSH PRIVILEGES;" - 4
为生产环境加固
运行安全加固向导(Ubuntu 20.04 上为 mysql_secure_installation),在防火墙中保持 3306 端口关闭,并设置定期备份。如果需要远程访问,请通过 SSH 隧道。
Bashsudo mariadb-secure-installation sudo mariadb-dump --all-databases > backup.sql
MariaDB 的使用场景
网站或 CMS 的数据库
在同一台 VPS 上安装 WordPress、Nextcloud 或 Laravel 应用,并将数据库地址指向
localhost。数据库保持私有,无需开放任何端口。API 与应用后端
为 Node.js、Python 或 PHP 应用提供数据库,包含表、索引和事务,运行在完全由你掌控的服务器上。
开发与测试环境
复现生产数据库,在接触真实数据之前先测试表结构迁移或版本升级。
业务数据存储
把报表数据、订单跟踪或内部工具的数据集中存放在 SQL 数据库中,并通过
mariadb-dump定期导出。
MariaDB 常见问题
不可以。根据安装配方,MariaDB 只监听 127.0.0.1:3306,只有服务器上的应用和你的 SSH 会话能够访问它。如需从自己的电脑访问,请使用 SSH 隧道。
深入了解 MariaDB
仅限本机访问,还是开放访问
如果应用运行在同一台 VPS 上,无需改动任何设置:监听 127.0.0.1 是最安全的配置。若要从自己的电脑管理数据库(DBeaver、HeidiSQL 或命令行客户端),建议使用 SSH 隧道,而不是开放公网端口:
ssh -L 3306:127.0.0.1:3306 USER@SERVER_IP
随后在本机连接 127.0.0.1:3306 即可。如果确实需要接受远程连接,请修改服务器的 bind-address 参数,创建绑定特定 IP 的用户,并在防火墙中将 3306 端口限制为仅该 IP 可访问。
备份
对大多数小型数据库来说,逻辑导出(dump)就够用了。在较旧的版本(Ubuntu 20.04)上,该命令名为 mysqldump。
sudo mariadb-dump --single-transaction --all-databases | gzip > /root/backup-$(date +%F).sql.gz
用 cron 定时执行,再把压缩文件复制到服务器之外。备份如果仍留在同一块磁盘上,就无法抵御 VPS 本身的故障。请定期测试恢复流程。
根据内存调整配置
默认设置比较保守。在专用于数据库的 VPS 上,最关键的参数是 innodb_buffer_pool_size,它决定了有多少数据保存在内存中。常见的起点是内存的 50% 到 70%。调整后请先观察内存使用情况,再决定是否继续加大。更多教程请参见 /learn 栏目。