修改 $cfg['MaxRows'] 需在 phpMyAdmin 的 config.inc.php 中设置,如 $cfg['MaxRows'] = 2000;,保存后硬刷新浏览器即可生效,无需重启服务。

怎么改 $cfg['MaxRows'] 才生效
phpMyAdmin 显示的行数上限由 $cfg['MaxRows'] 控制,不是 SQL 里的 LIMIT,也不是 MySQL 的 max_allowed_packet。它只影响查询结果在网页表格里渲染多少行,不改变实际执行逻辑。
修改位置必须是 phpMyAdmin 的主配置文件 config.inc.php(不是 config.sample.inc.php),路径常见于:
-
/usr/share/phpmyadmin/config.inc.php(Debian/Ubuntu 包安装) -
/var/www/html/phpmyadmin/config.inc.php(手动部署) -
/opt/lampp/phpmyadmin/config.inc.php(XAMPP)
在文件中找到或新增一行:
$cfg['MaxRows'] = 2000;
注意:MaxRows 大小写敏感;末尾必须有分号;改完只需硬刷新浏览器(Ctrl+Shift+R),不用重启 PHP 或 MySQL。
设成多少才合理
设太小(如默认 250)查日志表、审计表时总要翻页;设太大(如 0 或 100000)可能触发 PHP 内存溢出、浏览器卡死,甚至让整个页面白屏。
推荐按使用场景选值:
- 日常调试:设为
1000~5000,兼顾可读性与稳定性 - 临时查大表:先加
LIMIT 5000再执行,比调高$cfg['MaxRows']更安全 - 生产环境管理机:避免设为 0;若真需全量查看,导出 CSV/JSON 更可靠
即使设了 $cfg['MaxRows'] = 5000,如果 SQL 本身带 LIMIT 100,结果还是只显示 100 行——这个配置管的是“phpMyAdmin 能渲染多少”,不是“数据库返回多少”。
为什么点了“显示所有”还是没用
常见错觉:点完右下角的「显示所有」就以为万事大吉。其实它只是取消当前查询的分页限制,但有两个前提被很多人忽略:
- SQL 语句里不能自带
LIMIT,否则「显示所有」无效 - 必须确认当前页已加载完成——有时点击后顶部出现黄色提示「显示了前 250 行,总共有 8942 行」,这时得手动勾选左上角「全选」,再点「浏览」或「导出」才能真正拉取全部
另外,「显示所有」只对本次查询生效,刷新页面或换 SQL 后就得重来。
和 $cfg['LimitChars'] 是两回事
别把行数限制和字段内容长度搞混。$cfg['MaxRows'] 控制最多显示几行,$cfg['LimitChars'] 控制每行里每个单元格最多显示几个字符。一个管“竖着有多少”,一个管“横着有多宽”。
比如你查一条含 JSON 字段的记录,设了 $cfg['MaxRows'] = 1000 但 $cfg['LimitChars'] = 100,结果仍是 1000 行都显示出来,但每条 JSON 都被截成前 100 字符加省略号。
两者要配合调整:查长文本多的表,建议同步提高 $cfg['LimitChars'] 到 2000 左右,但别盲目设为 0 —— 浏览器渲染单个 10MB 字符串真会卡死。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











