[英]MySQL Node.js module: Unable to create connection pool. Error: Access denied for user
我正在尝试使用以下方法创建连接池:
mysql.createPool(dbConnOptions)
我的 dbConnOptions 对象是:
var dbConnOptions = {
host: '192.168.5.11',
port: 3306,
user: 'johnDoe',
connectionLimit: 10,
charset: "utf8mb4",
database: 'myDatabase',
password: 'myPassword',
multipleStatements: true
};
我在 /etc/hostname 的 Ubuntu 服务器上,条目设置为 'myHostname' 我创建了一个 MySql 用户为
create user 'johnDoe'@'localhost' identified by 'myPassword';
grant all privileges on myDatabase.* to 'johnDoe'@'localhost';
报以下错误:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'johnDoe'@'myHostname' (using password: YES)
所以我尝试了以下方法:
grant all privileges on myDatabase.* to 'johnDoe'@'%';
那被拒绝了这个错误:
ERROR 1133 (42000): Can't find any matching row in the user table
任何建议将不胜感激。 这令人沮丧。
您已经创建了一个用户johndoe@localhost
但您尝试使用johndoe@myhost
访问数据库并且没有用户johndoe@%
因此您无法向该用户授予任何权限。
johndoe@host1
和johndoe@host2
是两个完全不同的用户(尽管他们可能共享相同的用户名),具有不同的权限。
如果您想使用@localhost
的权限,您应该使用 127.0.0.1 或 localhost 作为主机...因为如果您使用自定义主机名或实际 IP 地址,您不会通过环回设备进行连接,因此,未标识为@localhost
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.