phpMyAdmin报#1045错误的根本原因是MySQL/MariaDB拒绝root用户认证,常见于密码错误、认证插件不兼容(如MySQL 8.0+的caching_sha2_password)、host限制或账号异常;需优先通过命令行验证MySQL服务及root状态,再针对性修复认证插件、刷新权限或调整phpMyAdmin配置。phpMyAdmin 显示 "#1045 - Access denied for user 'root'@'localhost'"这是最典型的症状:你点开 phpmyadmin,直接跳登录页,输完 root 密码后报错,或者压根没机会输密码就卡在错误页。根本原因不是 phpmyadmin 坏了,而是它背后连的 mysql/mariadb 拒绝了 root 用户的认证请求------root 账号本身可能被删、密码被清空、认证插件被改,或 host 限制太死。实操建议:先别动 phpMyAdmin 配置,它只是个前端;重点查 MySQL 服务本身是否运行,以及 root 在数据库里的实际状态用命令行直连验证:mysql -u root -p ------ 如果这里也失败,说明问题出在 MySQL 层;如果能进,那问题在 phpMyAdmin 的配置(比如 config.inc.php 里写错了用户名或 socket 路径)常见误操作:升级 MySQL 8.0+ 后,root 默认认证插件从 mysql_native_password 改成 caching_sha2_password,而旧版 phpMyAdmin 不支持,会静默拒绝MySQL 8.0+ 下 root 认证插件不兼容导致无法登录phpMyAdmin(尤其 5.0 之前版本)不支持 caching_sha2_password 插件,但新 MySQL 安装默认给 root 设了这个插件,结果就是输对密码也报 #1045,且无明确提示。实操建议:用 sudo 绕过认证进 MySQL:sudo mysql -u root(依赖系统用户权限,仅限本地且 mysqld 启动时未禁用 --skip-grant-tables)进库后执行:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';立刻执行:FLUSH PRIVILEGES; ------ 缺这句修改不会生效确认改成功:SELECT User,Host,plugin FROM mysql.user WHERE User='root';,看到 plugin 列是 mysql_native_password 才算到位安全模式恢复:mysqld --skip-grant-tables 启动后重置 root当连 sudo mysql 也不行(比如系统用户没权限、SELinux 拦截、或 MySQL 根本没配 unix_socket 插件),就得启安全模式。这不是"黑进数据库",而是官方支持的应急通道,但必须关服务、改启动参数、手动刷新权限表。立即学习"PHP免费学习笔记(深入)"; AI Code Reviewer AI自动审核代码
相关推荐
AllData公司负责人2 小时前
AllData数据中台通过开源项目RustFS建设现代数据湖存储,接入工业, 医疗, 物联网数据,包括文件/图像/音频/视频数据!m0_613856292 小时前
html标签如何插入图片_html中img标签的正确使用方式【方法】m0_596406372 小时前
如何防止MongoDB副本集被误初始化_副本集名称(replSetName)锁定DROm RAPS2 小时前
保姆级教程 !SQL Server数据库的备份和还原2301_775148152 小时前
HTML函数在系统字体渲染模糊是硬件问题吗_显示输出链路排查【方法】qq_349317482 小时前
Golang怎么做API网关_Golang API网关教程【总结】DevilSeagull2 小时前
MySQL(1) 安装与配置Cyan_RA92 小时前
如何利用 Paddle-OCR 丝滑进行复杂版面 PDF 的批量化OCR处理?李白客2 小时前
高可用数据库:RTO、RPO与架构选型,一篇讲透AC赳赳老秦2 小时前
OpenClaw与Notion联动:自动同步工作任务、整理笔记,实现高效管理