Node.js Error: connect ECONNREFUSED - how to connect Node with phpMyAdmin
Tags: xampp, phpmyadmin, javascript, node
Published: 2019-12-29 22:35:43

I spend more than 6 hours searching and testing, I get frustrated, angry and you know...  just for 3 minutes job.

Here it's my success story with incredible persistant Node.js error **connect ECONNREFUSED** .

Day 1. 
I run this code, and should work fine. 
![Node Connection](https://www.danneamtu.com/uploadsimg/de.png)

Oh, but no, some errors 
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d2.png)
 
Usual errors, maybe 3-4 minutes. I changed host: 'localhost' to host : '127.0.0.1', port: 8080, or maybe 8000, oh yes, 3306 this is. No, not that. Oh, yes, hostname: '127.0.0.1:3306'. No. Adding database, remove database. Change every thing I can now change. Nothing. 

"You should check if your XAMMP server is running", yes it is green. 
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d3.png)

Maybe it is the port 8443. node app.js enter, connect ECONNREFUSED. no, it's not the port. No password, no root, no port. What can solve this?

OOhh, yes, I know, I should thinking about that. Maybe I need to put the project in root XAMPP root folder. No. 

**connect ECONNREFUSED**

3 hours later. I need more music.
{% youtube 3YxaaGgTQYM %}

Day 2
Today, Sunday, with some first snow outside, I discovered something new. There is an IP address on my XAMPP, and maybe this is how I can solve the error. 
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d4.png)

Unfortunately it was not the case.
 
**Starting to find the real solution in my case**
And after I read Yannick Motton's best answer on post [host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server](https://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server) I found the solution. 

###The solution:

**1. Create an user with password, and grant all provileges**
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d5.png)
This will set user: username and pass: password

**2. Change localhost with your XAMPP IP (and also add username/password for user and password)**
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d6.png)
Change host: "localhost" to host:"192.168.64.2", and update with user: "username", password: "password". 
node app + enter 
![Error: connect ECONNREFUSED](https://www.danneamtu.com/uploadsimg/d7.png)
**Connection established** It's done. Hooray.

**3. Celebrate the victory**
Now that your terminal print Connection established, you whould celebrate the victory with dev friends.
![Error: connect ECONNREFUSED](https://images.unsplash.com/photo-1501238295340-c810d3c156d2?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1050&q=80)

###Final thoughts 
Hope this article will help you to solve the connect ECONNREFUSED error and to connect Node.js with phpMyAdmin in just a few minutes.

“Patience, persistence, and perspiration make an unbeatable combination for success.” - Napoleon Hill