Navicat连接MariaDB报1045密码错误怎么办_权限排查与解决

Navicat连MariaDB报1045错误通常因权限配置不当而非密码错误:需确认连接方式(localhost/socket vs 127.0.0.1/TCP),检查root用户Host值,用GRANT授权并FLUSH PRIVILEGES,避免直接UPDATE表;云环境注意Navicat连接设置及skip-networking配置。Navicat连MariaDB报1045: Access denied for user 'root'@'localhost',先别急着重置密码绝大多数情况下,这个错误不是密码真错了,而是权限没开对------特别是 mariadb 默认禁用 root 远程登录,且新版本(10.4+)改用 authentication_string 字段存密码,老方法直接 update user set password=... 会失效甚至锁死账户。先确认你是本地连还是远程连:如果 Navicat 和 MariaDB 在同一台机器,Host 填 localhost 或 127.0.0.1 行为不同(前者走 socket,后者走 TCP),权限记录可能分开存检查实际生效的用户记录:SELECT User, Host, authentication_string FROM mysql.user WHERE User = 'root'; ------ 注意看 Host 列是 localhost、127.0.0.1 还是 %别信"重装/删库"这种方案:MariaDB 的权限表结构稳定,问题几乎都出在授权逻辑或认证插件上用GRANT重新授权比直接改表安全得多手动 UPDATE mysql.user 表风险高:字段名变化、加密方式不匹配、忘记 FLUSH PRIVILEGES 都会导致后续完全无法登录。用标准 SQL 授权既能绕过字段细节,又能自动适配当前认证机制。如果只想让 root 从本机连(推荐开发环境):GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '你的新密码' WITH GRANT OPTION;如果必须远程连(如腾讯云 CVM):GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '强密码' WITH GRANT OPTION;,然后立刻执行 FLUSH PRIVILEGES;注意:MariaDB 10.4+ 默认认证插件是 unix_socket 或 mysql_native_password,如果报错 Plugin 'auth_socket' is not loaded,加一句 ALTER USER 'root'@'%' IDENTIFIED VIA mysql_native_password USING PASSWORD('你的密码');skip-grant-tables 是最后手段,且必须严格收尾只有当你完全忘了 root 密码、又没其他管理账号时才启用它。但它会让整个数据库裸奔------任何能连上本地 socket/TCP 的人都能无密码操作所有库。编辑 /etc/my.cnf 或 /etc/mysql/mariadb.conf.d/50-server.cnf,在 mysqld 下加一行:skip-grant-tables重启服务:sudo systemctl restart mariadb(Linux)或 net stop mariadb && net start mariadb(Windows)此时可直接 mysql -u root 登录,但必须立刻执行:UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE User = 'root'; + FLUSH PRIVILEGES;最关键一步:删掉配置文件里的 skip-grant-tables,再重启一次服务------漏这步,数据库就永远不校验密码Navicat 连接设置里三个容易被忽略的细节即使 MariaDB 权限全开,Navicat 自身配置不对也会触发 1045。尤其在云服务器或 Docker 环境下,网络层和认证层容易错位。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能

相关推荐
程序员小远6 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
增量星球7 小时前
一个 Python 脚本 + LLM 怎么替代向量检索?ProjQA 技能架构原理深度解析
开发语言·python·架构·embedding·skill
裕晟资质规划7 小时前
西安政务信息化项目涉密系统集成资质准入解析:甲级/乙级承接边界、等保差异与合规承接路径
大数据·运维·数据库·人工智能·安全·政务
SamChan907 小时前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
weixin_307779137 小时前
PySpark根据输入的表名和过滤条件生成 INSERT 语句
python·spark·云计算·big data
GodSure09147 小时前
Java单一职责原则SRP详解
java·python·单一职责原则
yandong6347 小时前
redis添加到win服务
数据库·redis·缓存
我叫小米粒7 小时前
可维护的智能体协作空间:字段建模、提示约束、测试集和上线检查
数据库·aigc·agent·智能体交付
Mojitocean7 小时前
Win开发环境配置(持续更新)
开发语言·python
数智启示录7 小时前
Flink CDC 机制精讲(四):一条 SQLServer CDC 事件如何保持顺序 【面试宝典】
数据库·面试·sqlserver·flink