繁体   English   中英

MySQL Node.js 模块:无法创建连接池。 错误:拒绝用户访问

[英]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@host1johndoe@host2是两个完全不同的用户(尽管他们可能共享相同的用户名),具有不同的权限。

如果您想使用@localhost的权限,您应该使用 127.0.0.1 或 localhost 作为主机...因为如果您使用自定义主机名或实际 IP 地址,您不会通过环回设备进行连接,因此,未标识为@localhost

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM