这不是wordpress的问题,而是phpmyadmin连接mysql时凭据不匹配或权限配置错误;需检查config.inc.php中的用户名、密码(明文)、host设置(localhost非127.0.0.1),并确认mysql中root@localhost的登录权限及认证插件兼容性。
直接说结论:这不是wordpress的问题,而是 phpmyadmin 连接 mysql 时凭据不匹配或权限配置错误。修复重点在 config.inc.php 和 mysql 用户权限两处,90% 的情况改对这两处就能进。
检查 config.inc.php 中的用户名和密码是否与 MySQL 实际一致
phpMyAdmin 不读 WordPress 的 wp-config.php,它只认自己目录下的 config.inc.php。常见错误是改了 MySQL 的 root 密码,但忘了同步更新这个文件。
-
$cfg['Servers'][$i]['user']必须填你实际能登录 MySQL 的用户名(比如'root'或'wp_user') -
$cfg['Servers'][$i]['password']必须填对应用户的**明文密码**,不是哈希值,也不是空字符串''(除非 MySQL 确实允许空密码) - 注意单引号是英文符号,复制粘贴容易混入中文引号,导致 PHP 解析失败;建议手动敲
' '两次确认 - 如果 MySQL 是通过套接字(socket)连接的(如 MAMP、XAMPP、Homebrew MySQL),
$cfg['Servers'][$i]['host']应设为'localhost',而不是'127.0.0.1'—— 后者会强制走 TCP,可能触发 host 匹配失败
确认 MySQL 中 root@localhost 是否有登录权限
错误信息里出现 Access denied for user 'root'@'localhost',说明 MySQL 拒绝了该用户从本地连接的请求。这通常是因为:
将 LaTeX(.tex)学术论文转换为 Word(.docx),支持可编辑的 OMML 公式、原生 Word 表格、嵌入图形、IEEE 双栏排版及参考文献
- MySQL 8+ 默认使用
caching_sha2_password插件,而旧版 phpMyAdmin(ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; - 用户记录的
host字段是'127.0.0.1'而不是'localhost',导致'root'@'localhost'查不到有效账户 —— 查一下:SELECT User, Host FROM mysql.user WHERE User = 'root';
如果只有'root'@'127.0.0.1',就补一条:CREATE USER 'root'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
- MySQL 配置启用了
skip-networking或绑定了特定 IP,导致本地 socket 连接被限制 —— 检查my.cnf或my.ini中是否有bind-address = 127.0.0.1或skip-networking,临时注释掉并重启 MySQL
别碰 config.default.php,它不会生效
很多教程让你去改 libraries/config.default.php,这是错的。phpMyAdmin 启动时只加载 config.inc.php(位于根目录),config.default.php 是只读模板,改了也没用。强行修改还可能导致升级后覆盖丢失。
- 如果你没生成过
config.inc.php,先复制config.sample.inc.php并重命名,再编辑 - 不要设置
$cfg['Servers'][$i]['nopassword'] = true或AllowNoPassword = true—— 这属于降级安全策略,且在新版本中已被弃用 - 如果确实要用空密码登录(仅限开发机),确保 MySQL 本身允许:
ALTER USER 'root'@'localhost' IDENTIFIED BY '';
再配合config.inc.php中 password 设为空字符串
真正卡住的地方,往往是 MySQL 用户的 host 值和 phpMyAdmin 的连接方式不匹配 —— 比如你以为连的是 localhost,其实走的是 127.0.0.1,而 MySQL 里只建了 'root'@'localhost',没建 'root'@'127.0.0.1'。这种细节不查 SELECT User, Host FROM mysql.user 根本发现不了。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










