
最近我接了个小活,要给一个老朋友搭个简单的数据库,他那点儿数据量,用不着搞什么高大上的玩意儿,想着图省事儿,我就直接下了个WAMP或者XAMPP这种集成环境,想着几分钟...
最近我接了个小活,要给一个老朋友搭个简单的数据库,他那点儿数据量,用不着搞什么高大上的玩意儿,想着图省事儿,我就直接下了个WAMP或者XAMPP这种集成环境,想着几分钟搞定。今天就得说说这个 phpmyadmin 给我整的活儿。
你别说,我就是图它方便,想着 Apache、MySQL、PHP 一锅端,直接搞定。我 跑 去官网, 找 到了最新的安装包, 下载 。这过程贼顺利,一路“下一步,下一步”。
安装完,我 点 开控制面板, 启动 Apache, 启动 MySQL,两个绿灯一亮,心里那个美,觉得这事儿稳了。然后我 打开 浏览器, 敲 进去 `localhost/phpmyadmin`,回车。
结果?页面倒是 跳 出来了,但马上就 给我 来了一个登录界面。我 敲 进去默认的用户名 `root`,密码嘛我记得以前是空的,所以密码栏 空着 没填, 点 “登录”。啪,直接 给我 弹回来一个 “#1045 拒绝访问”。
我当时就 懵 了,心想 邪门了,密码被人 改 了?还是这个新版本 搞 了什么幺蛾子?

我这人就是轴,遇到问题不解决 睡不着 觉。我 开始 各种瞎试:
试了十几分钟,气得我 够呛。我 赶紧 跑 去网上 搜 了一圈,发现这不是我一个人 碰到 的问题,好多人 卡在 这一步,说白了,就是集成环境 默认 的配置 把 登录方式 给你 锁死了,或者 默认 没密码,但认证机制 又要求 必须有密码才能进。这简直是 给我 制造 麻烦嘛
折腾了半天,我知道光 在 浏览器上 撞墙 是没用的,得 从 根儿上 动刀。这就像修水管,漏水了你 光用 抹布 擦 是没用的,必须 找到 那个裂缝 焊死 它。

我 立刻 定位 到了我的 phpmyadmin 安装目录,也就是 XAMPP 文件夹里的 `phpMyAdmin` 这个子文件夹。核心 的秘密就 藏在 一个叫 `*` 的文件里。
我 打开 这个文件,里面 密密麻麻 的配置项看得我 一团浆糊,但凭着以前 动过 几次手的经验,我 知道 关键 就在 登录那块儿。
我 发现 里面有这么几行,管着 登录认证方式的:
它本来可能是这样写着,用 的是 `cookie` 或者 `http` 这种认证方式:
$cfg['Servers'][$i]['auth_type'] = 'cookie';
我毫不犹豫地 给它 改 了,直接 改成 最简单粗暴的 'config' 方式,强制 让它 读取 我 写死 在文件里的密码:
$cfg['Servers'][$i]['auth_type'] = 'config';
我 找到 了 管 密码的那个配置项,我 当时 就 决定 把 密码 直接 写死 在这里,省得 以后 又出 幺蛾子。那个配置项 就是:
$cfg['Servers'][$i]['password'] = '';
我 把 里面那个 空着 的引号,塞进 了我 设置 的密码,比如我 就设 了个 `123456`,你 得用 个更 复杂 的:
$cfg['Servers'][$i]['password'] = '123456';
保存 文件,回到 浏览器,刷新 页面。这回 不需要 输密码了!直接 跳 进去了!
这事儿 给我 一个 教训,就是 越 看似 简单、一键 安装的东西,越容易 在 默认配置上 给你 挖坑。它 可能 为了安全 把 默认的登录认证方式 改了,或者 把 密码 禁了,但 又没 给你 提供 一个 明确 的入口 去改。你 得自己 钻 到文件里 去翻 腾。就像我 前两天 刚 搞定 我家路由器的 奇怪 断网 问题 一样, 发现 就是 一个 很 不显眼 的定时 重启 选项 被 打开 了。你 以为 是 硬件 坏了, 就是 一个 配置 没 调
这回 实践 记录 下来,分享 给 你们,以后 遇到 这 种 情况 别 再 绕 弯路 了,直接 改 配置 文件,一键 搞定 登录 问题!