Navicat 无法使用 root 用户连接 mysql

本文指导如何在Navicat中使用root用户连接MySQL,解决因IP权限导致的Access denied问题。步骤包括:授予root用户全局权限、设置新密码并应用,最后刷新权限使其生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Navicat 无法使用 root 用户连接 mysql

Access denied for user 'root'@'localhost'(using password: YES)

原因:IP权限问题

授权所有全局权限给 root 用户,主机为所有IP地址

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '自己新设置的密码' WITH GRANT OPTION;

刷新权限,让权限立即生效。

FLUSH PRIVILEGES;

OK,可以直接访问了;

### 使用 Navicat 修改 MySQL Root 用户密码 #### 方法一:通过关闭MySQL服务并跳过权限表来重置Root密码 在执行此方法前,需确保拥有管理员权限以访问服务器。 登录至数据库服务器后,前往控制面板中的管理工具部分,双击服务选项,在列表里定位到MySQL服务项。右键点击该项选择停止操作或者直接选中后于左侧栏内点击停止按钮使服务暂停运行[^1]。 随后进入MySQL安装路径下寻找配置文档`my.ini`,利用文本编辑软件(如EditPlus)将其打开,并向文件末端追加一句设置——`skip-grant-tables`,这一步骤旨在绕开授权验证机制以便后续更改账户信息不受阻碍。完成上述改动之后记得保存所做的变更。 重启计算机让新的参数生效,此时再尝试连接MySQL时便不会受到原有密码保护限制。接下来可按照常规方式启动Navicat客户端程序建立与目标实例之间的会话连接。 一旦成功接入,则可通过SQL查询窗口输入更新指令实现对root账号的新一轮认证凭证设定: ```sql UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; ``` 以上命令用于刷新权限缓存使得最新修改即时生效[^2]。 #### 方法二:直接运用 ALTER USER 命令调整Root用户属性 如果已经能够正常登陆作为超级用户的角色,那么可以直接发出如下所示的SQL语句来进行更便捷快速的身份验证资料修订工作: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER; ``` 这条语句不仅设定了一个新的口令同时也指明了该条目下的身份永远不会到期从而免去了定期更换带来的麻烦[^3]。 #### 方法三:简易模式下的Password函数调用法 当处于已获得root级别许可的状态之下,还可以采取更为简便的方式即直接应用SET PASSWORD语法结构配合内置hashing算法生成密钥串: ```sql SET PASSWORD = PASSWORD("新密码"); ``` 这种方式同样可以达到预期效果而且过程十分直观简单[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值