在 MySQL 连接字符串中指定密码

Posted

技术标签:

【中文标题】在 MySQL 连接字符串中指定密码【英文标题】:Specifying password in MySQL connection string 【发布时间】:2016-12-30 13:01:21 【问题描述】:

我使用 mysql 作为 DB 和 Yeoman 生成器创建了 ExpressJS MVC 应用程序 在config.js 中我想更改 MySQL 连接字符串,但我不知道在字符串中指定密码。

我的字符串是mysql://root@localhost:3306/

请帮帮我。

【问题讨论】:

您需要密码以及数据库名称,例如:mysql://root:password@localhost:port/dbName @UmairAhmed 非常感谢!如果你会写答案,我会让它被接受。 【参考方案1】:

我建议使用 knex。设置一个为您管理池的连接池是微不足道的。请参阅documentation。

var knex = require('knex')(
  client: 'mysql',
  connection: 
    host     : '127.0.0.1',
    user     : 'your_database_user',
    password : 'your_database_password',
    database : 'myapp_test'
  
);

【讨论】:

【参考方案2】:

也许你可以试试这样的:

var mysql      = require('mysql');
var connection = mysql.createConnection(
  host     : 'localhost',
  user     : 'root',
  password : 'YOURPASSWORD',
  database : 'YOURDATABASE'
);

看看这个tutorial。

如果这不起作用,您应该向我们提供更多信息。

【讨论】:

【参考方案3】:

密码和数据库名称也是连接字符串的一部分。 例如:mysql://root:password@localhost:port/dbName

【讨论】:

这就是我需要的!【参考方案4】:

这是通用的connection-string 解析器,它提供灵活的可选语法,同时遵守 URL 语法。适用于任何环境。

const  ConnectionString  = require('connection-string');

const cs = new ConnectionString('mysql://user:password@host:port/dbName');

【讨论】:

以上是关于在 MySQL 连接字符串中指定密码的主要内容,如果未能解决你的问题,请参考以下文章

如何在 NpgSql 连接字符串中指定 ApplicationName

如何在C#中获取连接字符串中指定的Mongo数据库

如何在 ODBC 连接字符串中指定网络目录?

何时在连接字符串中指定 providerName="System.Data.SqlClient"

难道不必在连接字符串中指定用户凭据就可以通过 ODBC 对 DBMS 进行身份验证吗?

在 MySQL 的“完全外连接”中指定条件的目的是啥?