最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
phpMyAdmin如何导入MySQL 5.7生成的SQL文件
时间:2026-09-03 18:19:48 编辑:袖梨 来源:一聚教程网
phpMyAdmin 导入 MySQL 5.7 SQL 文件常失败,主因是 sql_mode 严格限制(如 ONLY_FULL_GROUP_BY)和 DEFINER 子句权限不足;需删 DEFINER、清空或重置 SQL_MODE、调优 phpMyAdmin 上传设置,大文件应改用命令行导入。
phpMyAdmin 能直接导入 MySQL 5.7 生成的 SQL 文件,但必须避开几个关键兼容性陷阱,否则会卡在“无法解析”或“#1064 错误”。
为什么导入常失败?重点看 sql_mode 和 DEFINER
MySQL 5.7 默认启用了严格模式(如 STRICT_TRANS_TABLES),且导出时可能包含 DEFINER=`user`@`host` 子句——而 phpMyAdmin 连接的用户通常没权限还原这些定义。常见报错是:#1064 - You have an error in your SQL syntax 或 #1227 - Access denied; you need (at least one of) the SUPER privilege(s)。
- 导出时加
--skip-definer参数(推荐用命令行mysqldump重导) - 或手动删掉 SQL 文件里所有类似
DEFINER=`root`@`localhost`的片段 - 检查文件开头是否有
SET SQL_MODE = '...';行,若含ONLY_FULL_GROUP_BY或STRICT_*,建议删掉整行或替换为SET SQL_MODE = '';
phpMyAdmin 导入界面的关键设置
别只点“浏览→执行”,上传前必须调准两个隐藏选项:
- 勾选
Allow interrupt of import in case script detects it is close to time limit(防止大文件超时中断) - 在
Format of imported file下拉中明确选SQL,不要依赖自动识别 - 如果文件 > 2MB,先确认 phpMyAdmin 的
upload_max_filesize和post_max_size(通常在php.ini里,值需 ≥ 文件大小)
大文件(>50MB)或含存储过程/触发器的处理方式
phpMyAdmin 的 Web 界面不适合这类场景,max_execution_time 和内存限制极易触发失败。
- 改用命令行:登录服务器后运行
mysql -u username -p database_name - 若必须走 phpMyAdmin,先用文本编辑器把大文件按
DELIMITER ;;或CREATE PROCEDURE拆成小块,分批导入 - 导入前确保目标库已存在,且字符集匹配(例如源库是
utf8mb4,目标库也得是utf8mb4_unicode_ci,否则中文可能乱码)
最容易被忽略的是:MySQL 5.7 导出的 CREATE TABLE 语句默认带 ROW_FORMAT=DYNAMIC,而低版本 phpMyAdmin 对应的 MySQL 兼容层可能不认——遇到报错直接删掉该字段即可,不影响数据完整性。
相关文章
- 基于HTML5技术的电力3D监控应用(四) 09-03
- TPLink TLWR745N 无线路由器无线桥接(WDS)设置指南 09-03
- 31种选择器的应用 09-03
- 亚索EQ闪现连招实用技巧 09-03
- 【原创】如何在vim中使用tab进行python代码补全 09-03
- 我的勇者蝙蝠王如何打 蝙蝠王BOSS击杀攻略 09-03