Tenho um banco de dados MySQL criado remotamente pelo AwardSpace. Consigo conectar a ele usando PDO no PHP, como estou estudando nodeJS quero conectar a este mesmo banco usando NodeJS. Mesmo usando a mesmas configurações (host, user, db, password) que utilizo no PHP o node me retorna o erro ECONNREFUSED. Pesquisando eu vi que esse erro é dado quando o servidor recusa a conexão. Vou deixar meu código abaixo e a gradeço muito se alguém pude me ajudar a resolver este problema.
conexao.js:
const mysql = require('mysql')
const conexao = mysql.createConnection({
host: 'fdb30.awardspace.net',
user: '3766405_john',
password: 'minhaSenha',
database: '3766405_john',
})
module.exports = conexao
index.js
const customExpress = require('./config/customExpress')
const conexao = require('./infraestrutura/conexao')
conexao.connect(erro => {
if (erro) {
console.log(erro)
} else {
console.log('conectado com sucesso')
const app = customExpress()
app.listen(3000, () => console.log('Servidor rodando na porta 3000'))
}
})
Abaixo o código que utilizo para conectar ao banco de dados com PHP:
function mysqlConnect()
{
$db_host = "fdb30.awardspace.net";
$db_username = "3766405_john";
$db_password = "minhaSenha";
$db_name = "3766405_john";
// dsn é apenas um acrônimo de database source name
$dsn = "mysql:host=$db_host;dbname=$db_name;charset=utf8mb4";
$options = [
PDO::ATTR_EMULATE_PREPARES => false, // desativa a execução emulada de prepared statements
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // ativa o modo de erros para lançar exceções
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // altera o modo padrão do método fetch para FETCH_ASSOC
];
try {
$pdo = new PDO($dsn, $db_username, $db_password, $options);
return $pdo;
}
catch (Exception $e) {
//error_log($e->getMessage(), 3, 'log.php');
exit('Ocorreu uma falha na conexão com o BD: ' . $e->getMessage());
}
}