UOS MariaDB 数据库:安装、最小权限与备份验证
1. 服务介绍
MariaDB 提供关系型数据存储、SQL 查询和事务管理,常作为 Web、认证及业务系统的数据后端。本文整理 UOS/Debian 系实验安装、账号权限与逻辑备份,并给出服务端及客户端验证命令。
2. 准备运行环境
先 cat /etc/os-release 确认 UOS 版本与软件源;安装需要 sudo/root,数据库日常使用独立账号。确认磁盘容量、备份目录权限及所需访问网段。不要把真实密码写入命令行、脚本或截图。
3. 相关知识与注意点
• 默认 TCP3306;本地连接可能走 Unix Socket,Socket 登录成功不代表远程端口可达。
• 账号由用户名与来源主机构成,避免业务使用 root 或任意来源通配授权。
• Debian 系 root 可能使用 unix_socket 认证,不必强行改成密码认证。
• 备份成功还要验证恢复,--single-transaction 主要适用于事务表,不能替代跨引擎和DDL一致性评估。
4. 实验步骤
Debian 系安装示例,以实际发行版包名为准:
bash
sudo apt update
sudo apt install mariadb-server mariadb-client
sudo systemctl enable --now mariadb
sudo mariadb
在数据库终端按实际地址、名称和独立强密码替换占位符:
sql
CREATE DATABASE labdb CHARACTER SET utf8mb4;
CREATE USER 'labapp'@'localhost' IDENTIFIED BY 'REPLACE_WITH_UNIQUE_PASSWORD';
GRANT SELECT, INSERT, UPDATE, DELETE ON labdb.* TO 'labapp'@'localhost';
SHOW GRANTS FOR 'labapp'@'localhost';
远程访问需独立配置监听地址、来源账号及防火墙。不要直接开放公网 root 访问。
逻辑备份示例:
bash
umask 077
mariadb-dump -u BACKUP_USER -p --single-transaction labdb > labdb.sql
备份账号按工具和数据库版本授予必要权限,不默认授予全局 ALL。先确认命令退出码,再检查备份文件;恢复只在独立测试数据库验证,不覆盖业务库。
5. 原实验截图
截图为历史环境,账号和认证方式以正文最小权限原则及实际版本为准。






6. 验证命令
服务端执行 systemctl status mariadb --no-pager、ss -lntp、journalctl -u mariadb -n 50 --no-pager;数据库中执行 SELECT VERSION();、SHOW DATABASES;、SHOW GRANTS;。业务账号交互输入密码后验证只能访问授权库;需要远程时用 mariadb -h DB_SERVER_IP -u labapp -p 单独测试。备份恢复后对比表结构、行数和关键数据,不凭文件存在判断可恢复。本文仅补充验证路径,不冒充实际数据库执行结果。