厂商给的某个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,
近期更新的文章:《JDBC连接参数useCursorFetch的使用场景》《MySQL中索引创建错误的场景》
《MySQL的字符集转换操作场景》《金融知识小科普 - 二级市场》《poweroff指令的介绍》
近期的热文:《推荐一篇Oracle RAC Cache Fusion的经典论文》
《"红警"游戏开源代码带给我们的震撼》
文章分类和索引:《公众号1300篇文章分类和索引》