phpMyAdmin 默认不启用GZIP压缩,需在导出页“输出”区域勾选“压缩”并选GZIP;失效常见原因包括zlib未启用、配置禁用或数据量过小;大库导出建议改用mysqldump+gzip命令行方式。
phpmyadmin 默认导出不启用 gzip 压缩,必须手动勾选才能生成 .sql.gz 文件——否则你拿到的只是未压缩的明文 sql,体积可能大 5–10 倍。
导出页面哪里找 GZIP 选项
在 phpMyAdmin 中选中数据库或表后点击「导出」,进入导出设置页。关键操作不是在「格式」下拉选「SQL」,而是往下滚动到「输出」区域:
- 勾选
压缩复选框(不是「保存为文件」下面那个小勾,是独立的、带下拉的「压缩」控件) - 下拉菜单里选
GZIP(别选BZIP2或ZIP,后者兼容性差,前者 phpMyAdmin 旧版本可能不支持) - 确保
保存为文件已勾选,否则压缩后内容会直接打印在浏览器里,无法下载
为什么有时候勾了 GZIP 却没生效
常见原因不是操作失误,而是服务端限制:
- PHP 的
zlib扩展未启用:检查phpinfo()页面是否有zlib模块,没有就需管理员开启 - phpMyAdmin 配置禁用了压缩:查看
config.inc.php中是否设置了$cfg['EnableZipDump'] = false;或$cfg['EnableGzipDump'] = false; - 导出数据量太小(比如几百行),GZIP 压缩后反而略大,部分 phpMyAdmin 版本会自动跳过压缩(但不会提示)
导出大库时 GZIP 可能失败的信号和对策
遇到 Error 500、空白页、或下载下来的 .gz 文件打不开(报“not in gzip format”),大概率是超时或内存溢出:
- PHP 的
max_execution_time太小:建议临时调高到300(5 分钟)以上 -
memory_limit不足:导出 >100MB 的库时,256M常不够,可试512M - 更稳妥的做法是改用命令行:
mysqldump -u user -p db_name | gzip > backup.sql.gz,绕过 phpMyAdmin 的 PHP 层限制
真正要注意的是:GZIP 压缩只作用于导出过程,它不会改变 SQL 内容本身;如果你后续要用这个 .sql.gz 在命令行导入,得先 gunzip 解压,或者用 zcat backup.sql.gz | mysql -u user -p db_name —— 直接丢给 mysql 命令会报错 Unknown command '\x1f'。
立即学习“PHP免费学习笔记(深入)”;



















