phpmyadmin 左侧表列表被截断到100由$cfg['maxtablelist']控制,需在config.inc.php中设置(如$cfg['maxtablelist'] = 500),修改后须硬刷新浏览器。
phpmyadmin 左侧数据库列表被截断到 100 个,是 $cfg['maxtablelist'] 在控制
这不是 mysql、apache 或 php 的限制,而是 phpmyadmin 自身前端渲染的硬性阈值。它默认只加载并显示最多 $cfg['maxtablelist'] 张表(注意:是“表”,不是“库”),但很多用户误以为是数据库数量被限制——其实你看到的是某个数据库下的表列表被折叠了,而「更多…」后面那些表根本点不开。
常见现象包括:选中一个含 300+ 表的数据库后,左侧只列前 100 张,其余不可见;点击「更多…」无反应或空白;刷新后仍复现。
-
$cfg['MaxTableList']默认值因 XAMPP 版本而异,老版是 250,新版常被设为 100 - 必须改在
config.inc.php(不是config.default.php)中,且要放在$cfg['Servers'][$i]['auth_type'] = 'cookie';之后、?>之前 - 写法必须是
$cfg['MaxTableList'] = 500;,不能加引号,不能写成字符串 - 改完必须硬刷新(Ctrl+F5),否则浏览器可能缓存旧 JS 渲染逻辑
phpMyAdmin 根本不显示 mysql 系统库,大概率是权限或连接用户不对
phpMyAdmin 默认不会隐藏 mysql 库(它只默认隐藏 information_schema、performance_schema、sys),所以看不到 mysql,基本可排除界面配置问题,重点查两件事:当前连接用的是哪个 MySQL 用户,以及该用户有没有 SELECT 权限。
- 执行
SHOW GRANTS FOR CURRENT_USER();,看输出里是否有GRANT SELECT ON `mysql`.*—— 没有就说明权限缺失 - 检查
config.inc.php中的$cfg['Servers'][$i]['user']值,这才是真实连接 MySQL 的账号,和你在登录页输的不一定一致 - 如果
$cfg['Servers'][$i]['auth_type']是'config',那 phpMyAdmin 完全忽略你输入的凭据,直接用配置文件里写的user/password - 留意
$cfg['Servers'][$i]['hide_db']是否用了正则误匹配了mysql,例如'^(information_schema|mysql)$'
phpMyAdmin 打不开「用户账户」页,报 #1146 错误,说明 mysql.user 表丢失
错误信息 #1146 - Table 'mysql.user' doesn't exist 不是权限问题,是系统表真的没了。常见于误删、MySQL 升级失败、或崩溃后未正确恢复。
- 不能手动
CREATE TABLE mysql.user—— 表结构随 MySQL 版本变化,且需初始化元数据 - 正确做法是停掉 MySQL,用
mysqld --initialize-insecure --datadir=/path/to/datadir重建系统库(路径按实际调整) - 重建后 root 密码为空,但认证插件可能变成
caching_sha2_password(MySQL 8.0+),导致 phpMyAdmin 连不上;需进跳过权限模式执行UPDATE mysql.user SET plugin='mysql_native_password', authentication_string='' WHERE User='root'; FLUSH PRIVILEGES; - MySQL 8.0 必须搭配 phpMyAdmin ≥ 5.0,否则用户页字段读取错乱或空白
phpMyAdmin 执行 SQL 后结果集只显示前几百行,是 $cfg['MaxRows'] 和 $cfg['LimitChars'] 在限制
这不是数据丢了,是 phpMyAdmin 主动做了“安全裁剪”:防止大结果压垮浏览器或触发 PHP 超时。它分两个维度控制显示:
-
$cfg['MaxRows']控制单次查询最多展示多少行,默认常为 200–500;设为0表示不限,但极不推荐 -
$cfg['LimitChars']控制每个单元格最多显示多少字符,默认常为 50–500;长文本、JSON、日志字段会因此被截断加省略号 - 这两个值都必须写在
config.inc.php中,保存后硬刷新生效 - 若调高后仍显示不全,可能是 PHP 的
memory_limit或max_execution_time不足,或浏览器本身渲染性能瓶颈
复杂点在于:这些配置项彼此不孤立。比如把 $cfg['MaxTableList'] 设到 2000,又同时打开含 500 张表的数据库,再点进去每张表都带外键和触发器,phpMyAdmin 前端 DOM 构建就会明显卡顿——这不是 bug,是它真的一次性拉了全部元信息。别只盯着“能不能显示”,得想清楚“要不要全显示”。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











