必须先手动创建空数据库并选utf8mb4_unicode_ci字符集,否则导入会报错或乱码;大文件建议用ssh命令行导入,避免phpmyadmin上传限制和超时失败。

导入前必须确认数据库已存在且字符集匹配
群晖 NAS 上的 phpMyAdmin 不会自动创建数据库,导入前得手动建好空库,否则会报错 Unknown database 'xxx'。建库时注意字符集——如果本地导出的 SQL 文件用的是 utf8mb4(现代 MySQL/MariaDB 默认),而 NAS 上新建库选了 utf8 或 latin1,导入后大概率出现中文乱码或报错 Incorrect string value。
实操建议:
- 在 phpMyAdmin 左侧点击“新建”,输入数据库名,排序规则选
utf8mb4_general_ci或utf8mb4_unicode_ci - 导出文件若来自本地 XAMPP/WAMP 或较新 MySQL 版本,基本默认含
CHARACTER SET utf8mb4声明,导入时无需额外改文件 - 若不确定,可用文本编辑器打开 .sql 文件,搜索
CHARSET=或CHARACTER SET确认声明值
上传大 SQL 文件时 phpMyAdmin 会静默失败
群晖默认的 PHP 配置对上传极其保守:upload_max_filesize 通常为 2M,post_max_size 为 8M,max_execution_time 是 60 秒。一旦 SQL 文件超限,页面可能只显示空白、卡在“正在上传…”或直接跳回导入页,没有任何错误提示。
解决路径分三层:
- 优先检查 phpMyAdmin 页面底部是否显示“最大上传大小:2,048 KiB”——这是硬限制,不是建议值
- 临时绕过:用群晖的 File Station 把 .sql 文件上传到 NAS 的共享文件夹(如
/volume1/web/backup/),再通过 SSH 进入容器执行命令导入(见下一条) - 长期改配置:需进入 Docker 容器或修改 MariaDB 套件的 PHP 设置(群晖 DSM 7+ 中较难直接改,不推荐普通用户折腾)
从 NAS 命令行导入比网页上传更可靠
只要你的群晖已启用 SSH 且 MySQL/MariaDB 正在运行,命令行导入几乎无体积和超时限制,也避开了 phpMyAdmin 的字符集自动检测陷阱。
典型流程(以 MariaDB 为例):
- SSH 登录 NAS:
ssh admin@192.168.1.100(替换为你的 NAS IP) - 确认 SQL 文件位置,比如放在
/volume1/web/backup/site.sql - 进入 MariaDB 容器并执行:
docker exec -i mariadb mysql -uroot -p'your_password' your_database_name - 若用套件中心安装的 MariaDB(非 Docker),命令为:
/var/packages/MariaDB/target/usr/bin/mysql -uroot -p'your_password' your_database_name
注意:your_password 若含特殊字符(如 $、!),需用单引号包裹;密码前后**不能有空格**。
导入后常见但易被忽略的连带问题
SQL 导入成功 ≠ 网站或应用能立刻跑起来。尤其迁移 WordPress、Chevereto 等 CMS 到群晖时,以下三点几乎必查:
-
wp_options表里的siteurl和home字段仍指向旧地址(如http://localhost),需手动更新为群晖的访问地址(如https://nas.yourdomain.com) - 表前缀不一致:导出时若用了自定义前缀(如
wp_),而新环境配置文件里写的是wp23_,会导致连接后白屏或报错Table 'wp23_options' doesn't exist - 权限未刷新:MariaDB 用户对新库没读写权,特别是用 root 以外账号登录的应用,需进 phpMyAdmin 的“用户账户”页,编辑该用户,勾选对应数据库的全部权限并刷新
这些不是导入功能本身的问题,但发生在导入之后的几秒内——没人盯着看,就容易以为“已经好了”,结果调试半天才发现是配置漂移。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











