MySQL远程登录提示Access denied的场景

厂商给的某个MySQL库,通过客户端远程登录,提示这个错误,

Access denied for user '用户名'@'IP' (using password: YES)

确认输入的账号密码都是正确的,出现这个错误说明端口是通的。

此时可以检索mysql.user,如果待登录账号的记录host字段是localhost,说明仅允许本地登录,禁止远程登录,

[mysql]> select user, host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| test             | localhost |
+------------------+-----------+

需要将test用户的host改为%,表示可以从任意的网络IP远程登录。

这是一种可能,另外一种可能,就是没给这个账号授予表的访问权限,需要单独授权,可以通过如下语句执行,

grant all privileges on bisal.* to 'test'@'%';

另外,如果用的MySQL 8.0以上的,直接使用grant,可能会提示错误,

You are not allowed to create a user with GRANT

因为这个版本不支持授权的时候就进行用户创建,得创建之后才能授权,

create user test@'%' identified by 'test';
grant all on test.* to 'test'@'%';

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发pyq,

541aa95e94c9e843a261b985bd3fd6b3.png

近期更新的文章:

《JDBC连接参数useCursorFetch的使用场景》

《MySQL中索引创建错误的场景》

《MySQL的字符集转换操作场景》

《金融知识小科普 - 二级市场》

《poweroff指令的介绍》

近期的热文:

《推荐一篇Oracle RAC Cache Fusion的经典论文》

《"红警"游戏开源代码带给我们的震撼》

文章分类和索引:

《公众号1300篇文章分类和索引》

你可能感兴趣的:(mysql,数据库)