如何使用主机名将我的节点连接更正为 MySQL?

How do I correct my Node connection to MySQL with the hostname?

*** 将用户名从 'sabcozac@user' 编辑为 'sabcozac_user'

我与托管 MySQL 数据库的连接失败,因为主机名被插入,即使我没有在任何地方包含它。我阅读了此处关于 appending the hostname 的回复,但我不确定如何解决该问题。

我的 db.js 文件不包含主机名,但每次它都被插入到我的可执行文件中。我在下面提供了两个,如果有人能提供任何帮助,我将不胜感激。

db.js
'user strict';

const mysql = require('mysql');

const connection = mysql.createConnection({
  host     : 'cp14.domains.co.za',
  user     : 'sabcozac_user',
  port     : '3306',
  password : '************',
  database : 'sabcozac_fonebook'
});

connection.connect(function(err) {
    if (err) throw err;
});

module.exports = connection;

我正在使用由 PHPMyAdmin 管理的托管数据库,它不允许我将“@localhost”添加到用户名。

localhost 是用户定义的一部分,描述了用户从哪里连接。您的错误消息表明您是从远程 IP 连接的,而不是本地主机。

创建用户CREATE USER sabcozac@'154.66.196.103' IDENTIFIED BY 'password';然后让该用户访问 GRANT ... TO sabcozac@'154.66.196.103'

在您的代码中,您使用的用户名没有 @hostname 组件,因此只需 sabcozac.

我重试了连接并且成功了。我删除了我在服务器上的另一个安装(不是预安装的 PHPMyAdmin 那个),这次连接字符串在用户中没有额外的主机名。

现在我有一个 'Packet out of order' 问题,但如果需要我会回来提出新问题。

谢谢大家!