厂商给的某个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'@'%';

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"