mysql拒绝连接

出现 "1698 - Access denied for user 'root'@'192.168.10.52'" 错误,通常是因为 MySQL 的 root 用户默认采用了 "auth_socket" 认证方式,仅允许本地通过 socket 连接,不支持远程密码认证。解决方法如下:

步骤 1:修改 root 用户认证方式

登录数据库

复制代码
mysql -u root -p

使用命令并更改身份验证方法以root ALTER USER 身份登录 MySQL :

% 是允许所有IP。

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

再为远程连接授权:

复制代码
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的新密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

步骤 2:重启 MySQL 服务

执行systemctl restart mysql

之后在 Navicat 中使用新设置的密码重新连接即可。


如果出现报错,先看是不是已经创建好root了。已经建好了,直接授权就行。

复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
相关推荐
Mr.朱鹏5 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠5 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng15 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝6 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3226 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向7 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却7 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO9 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记9 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数10 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全