不能一键导出全部MariaDB数据,phpMyAdmin仅支持单库导出;需逐个点击数据库执行导出,或改用SSH下mysqldump命令实现全量备份。

不能直接在群晖 phpMyAdmin 里“一键导出全部 MariaDB 数据”——它只允许你一次选一个数据库导出,不支持跨库批量或实例级全量导出。
phpMyAdmin 的导出范围严格限定在当前选中的单个数据库
你点击左侧导航栏的 mysql、phpmyadmin、wordpress 等任一数据库名称后,顶部“导出”标签页才生效,且导出内容仅包含该库下的表结构与数据。即使你同时勾选多个数据库(界面不支持),phpMyAdmin 也只会处理第一个被激活的库。
- 没有“导出所有数据库”按钮,也没有全局导出入口
- 无法通过修改 URL 参数(如添加
db=all)绕过限制——后端 PHP 逻辑强制校验$_GET['db']必须是合法单库名 - 如果你看到的是空结果或报错
No databases selected,大概率是因为没点进具体库,还在“服务器概览”页
想导出多个数据库,必须逐个手动操作
这是最稳妥、也最常被忽略的实操路径:不是“能不能”,而是“怎么顺手做”。关键在于提前规划顺序和命名,避免混淆。
- 打开 phpMyAdmin 后,先确认左侧列表中哪些库是你真正需要的(比如排除
information_schema、performance_schema这类系统库) - 对每个目标库,依次执行:点击库名 → 顶部点“导出” → 选“自定义” → 格式选
SQL→ 勾选“另存为文件” → 执行 - 导出前,在“文件名模板”框里手动改成带时间戳和库名的格式,例如:
wordpress_20260914.sql、shop_20260914.sql,防止覆盖 - 如果某个库含大量数据(>50MB),浏览器可能卡死或中断下载;此时应改用命令行,见下一条
大库或全实例导出,请绕过 phpMyAdmin,直接用 mysqldump
群晖 NAS 的 MariaDB 套件自带 mysqldump,且运行在服务端,不受浏览器内存/超时限制。这才是导出全部数据的实际可行方式。
立即学习“PHP免费学习笔记(深入)”;
- 启用 SSH:DSM 控制面板 → 终端机和 SNMP → 启用 SSH 服务
- 用终端登录 NAS(如
ssh admin@your-nas-ip),切换到 MariaDB 用户权限:sudo -u mysql bash - 导出单库:
mysqldump --single-transaction --routines --triggers wordpress > /volume1/backup/wordpress.sql - 导出全部用户库(不含系统库):
mysqldump --all-databases --ignore-table=mysql.user --ignore-table=mysql.db --ignore-table=mysql.tables_priv > /volume1/backup/all_dbs.sql - 注意路径权限:
/volume1/backup/需已存在且 mysql 用户有写入权;若提示Permission denied,先chmod 775 /volume1/backup
导出后容易被忽略的三个细节
导出动作完成≠数据可安全迁移。以下三点在群晖环境下特别容易踩坑:
-
mysqldump默认不导出CREATE DATABASE语句,导入时需手动建库;加--databases参数才能打包库名(如mysqldump --databases wordpress shop) - 群晖 MariaDB 默认字符集是
utf8mb4,但导出 SQL 文件若没显式声明CHARACTER SET utf8mb4,在其他 MySQL 环境导入可能丢 emoji 或生僻字 - phpMyAdmin 导出的 SQL 文件头部常含
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"等兼容性设置,而mysqldump输出更“干净”,迁移到新版 MySQL 时反而更少报错



















