phpmyadmin 默认每页显示25行,需修改配置文件中的 $cfg['maxrows'] 并清理用户偏好(localstorage 或 pmadb)才能生效,且须确认实际加载的 config.inc.php 路径。
phpmyadmin 默认每页显示 25 行查询结果,这个值可改,但不是在界面“设置”里点几下就能生效——它受配置文件硬编码控制,且修改后需重启 web 服务或重载配置(取决于部署方式)。
修改 $cfg['MaxRows'] 配置项
该变量直接决定 SQL 查询结果的默认分页大小。它不保存在数据库或用户偏好中,而是写死在 phpMyAdmin 的主配置文件里。
- 找到配置文件:
config.inc.php(通常位于 phpMyAdmin 安装根目录,如/usr/share/phpmyadmin/config.inc.php或/var/www/html/phpmyadmin/config.inc.php) - 搜索是否存在
$cfg['MaxRows'];若无,则在$cfg['Servers']配置块之后、?>之前添加一行:
$cfg['MaxRows'] = 50;
数值填你想要的默认行数,比如 50 或 100。注意:该值仅影响“未手动调整过每页数量”的首次查询结果页,不影响已保存的用户偏好(见下一条)。
用户偏好会覆盖 $cfg['MaxRows']
一旦你在某次查询后手动点击了“显示 XXX 行”,phpMyAdmin 就会把该值存进当前用户的 pmadb 数据库(如果启用了高级功能)或浏览器 localStorage(较新版本默认行为),下次访问时优先读取这个值。
- 要彻底重置为配置文件设定的默认值,需清空对应存储:
- 浏览器端:打开开发者工具 → Application → Local Storage → 找到 phpMyAdmin 域名条目 → 删除
pmaUserprefs键(或整个域) - 服务端(启用
pmadb时):执行DELETE FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'your_user';
否则即使改了 $cfg['MaxRows'],你也看不到效果。
为什么改了没反应?检查这几个地方
常见失效原因不是配置写错,而是环境层面被绕过:
-
config.inc.php文件权限不对,phpMyAdmin 实际加载的是另一个同名文件(比如config.sample.inc.php)——用grep -n "\$cfg\['MaxRows'\]" /path/to/phpmyadmin/*.php确认真实加载路径 - 使用了 Docker 部署且配置通过挂载卷覆盖,但忘记重启容器:
docker restart phpmyadmin - Web 服务器(如 Nginx/Apache)缓存了 phpMyAdmin 的 PHP 配置,需重启服务或清除 OPcache:
sudo service apache2 reload或sudo systemctl restart php-fpm - 某些发行版(如 Ubuntu 的
phpmyadmin包)会把主配置拆成多个文件,$cfg['MaxRows']可能需加在/etc/phpmyadmin/config.inc.php中,而非 Web 目录下的那个
真正起效的关键不在数值本身,而在确认 phpMyAdmin 当前加载的是哪个 config.inc.php,以及用户侧存储是否已被清理。这两步漏掉任何一环,改多少遍都白搭。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











