厂商给的某个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'@'%';
如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"