Lorsque je lance mon application node.js, j'obtiens cette erreur:
- create a user: CREATE USER 'main'@'localhost' IDENTIFIED BY 'myPass'; - give this user all privileges GRANT ALL PRIVILEGES ON *.* TO 'main'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
Ce que je faisais:
SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306
J'essaye ensuite pour me connecter via mon code en production et cela me donne une erreur: connectez ECONNREFUSED 127.0.0.1:3306.
Mais dans mon environnement localhost, il se connecte bien. Et quand j'essaye de me connecter à DB en utilisant la ligne de commande sur VPS, cela fonctionne aussi:
mysql -umain -p
Je ne parviens pas à me connecter avec le code. Mais sur mon hôte local, il se connecte. J'ai vérifié ma connexion et mon mot de passe pour l'utilisateur DB en .env.
4 Réponses :
Essayez de redémarrer le service MySQL.
J'ai trouvé un problème!
Dans mon fichier de configuration mysql (etc / my.cnf) se trouvait bind-address = mon IP VPS
Donc, quand je supprime cette ligne, il commence à écouter toutes les ips.
Merci à tous!
Juste au cas où vous tomberiez dans ma catégorie, j'ai simplement oublié de mettre sur mon serveur local (XAMMP). Vous voudrez peut-être vérifier si votre serveur MySQL est actif.
J'ai eu le même problème et je l'ai résolu en ajoutant "socketPath" à ma décélération de suite comme ceci:
user = mysql # pid-file = /var/run/mysqld/mysqld.pid # socket = /var/run/mysqld/mysqld.sock # port = 3306 # datadir = /var/lib/mysql
trouvez le chemin de votre socket en entrant /etc/mysql/mysqld.cnf: alors vous avez leur chemin de socket:
const sequelize = new Sequelize('db-name', 'user', 'password', { host: 'localhost', dialect: 'mysql', dialectOptions: { socketPath: 'your socket path', supportBigNumbers: true, bigNumberStrings: true }, });
Pouvez-vous nous montrer le code qui se connecte. Et aussi, comment démarrer votre application.?