DBeaver连接MySQL提示Access denied for user ‘‘@‘ip‘ (using password: YES)


问题描述

客户端root账号连接mysql时,远程连接不上


原因分析:

1、mysql的服务状态

2、登录账号的host是否为%,允许远程任意地址连接

3、在需要密码登录的前提下:登录账号的host为%的密码是否设置


解决方案:

1、核实MySQL服务状态:

复制代码
systemctl status mysql

MySQL服务运行正常,若MySQL已经没有启动,重启MySQL服务器:

复制代码
systemctl restart mysql

2、从服务器登录进入数据库:

复制代码
bin/mysql -u root -p

输入密码登录进去后

3、授与权限,并更新权限:

复制代码
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

刷新:

复制代码
FLUSH PRIVILEGES;

4、查看结果是不是root用户仅允许本地 localhost 登录,是的话,就要修改它的host为%,表示任意IP地址都可以登录:

复制代码
use mysql;
select user, host from user;

可以看到root用户有一个%,代表全部主机都可以使用root用户通过外网连接数据库,但是连接依然出现问题Access denied for user 'root'@'ip' (using password: YES)

5、root账号的任意地址登录的密码不对,在配置mysql的时候,遗留了host的%的密码调整为test@mysql,导致不对:

复制代码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'test@mysql';

6、DBeaver连接,校验是否解决问题:

连接成功

相关推荐
Random Glow9 小时前
聚簇索引 vs 二级索引:回表、覆盖索引、索引下推
数据库·mysql·性能优化·innodb·1024程序员节·索引优化
要开心吖ZSH10 小时前
一次线上锁风暴复盘:号源表大范围 DELETE 的隐患与分批删除改造
数据库·mysql·行锁·1024程序员节·间隙锁·lockwaittimeout
lazy H11 小时前
【计算机网络】第 5 篇:TCP 和 UDP 有什么区别?从 Java 后端场景理解两种传输协议
经验分享·后端·网络协议·tcp/ip·计算机网络·1024程序员节
星恒随风12 小时前
Linux网络编程基础(二):彻底理解局域网通信、MAC与IP地址、数据封装、端口号、网络字节序及Socket接口
linux·网络·笔记·学习·tcp/ip·1024程序员节
John_Hui12 小时前
MySQL 进阶知识
数据库·sql·mysql·1024程序员节
Random Glow13 小时前
一条 SQL 从输入到返回,中间经历了什么
数据库·后端·mysql·性能优化·innodb·1024程序员节
何中应13 小时前
MySQL 连接驱动单独下载的两种方式
数据库·mysql·maven
余槐i13 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化
csdn_aspnet13 小时前
.NETCore EF Core 根据 mysql 数据表按顺序生成简单编号
mysql·.net core·efcore·1024程序员节·sequence·编号
Sirens.14 小时前
网络通信基础:IP、端口、协议分层与数据封装
java·网络·网络协议·tcp/ip·java-ee·1024程序员节