在我的主目录的.my.cnf文件中有以下内容。事实上,我将有更多的其他数据库也与不同的后缀'客户端'。但是,现在,为了测试,我有一个简单的.my.cnf文件,如下所示:
[client]
database=db1
user=user1
password=user123
host=localhost
在nodejs程序中,我使用以下连接参数:
var dbConn = {
user: 'user1',
database: 'db1'
};
我希望它能连接,因为密码在.my.cnf中。如果没有,则会出现以下错误:
code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlMessage: 'Access denied for user \'user1\'@\'localhost\' (using password: NO)',
sqlState: '28000',
如果我把密码放在连接对象dbconn中,它就工作了。如果我在没有指定密码的情况下运行mysql命令行,我可以使用.my.cnf文件中的密码进行连接。
1条答案
按热度按时间ndasle7k1#
等待。你刚刚分别写了.cnf文件。这行不通。nodejs不会自动拿起它。您需要将它与mysql连接器一起使用。例如:
资料来源:https://github.com/mysqljs/mysql/issues/1676#issuecomment-289247509
节点mysql-https://www.npmjs.com/package/mysql