I am trying to configure a nodejs container to connect to a mysql database.
My code looks like this:
var pool = mysql.createPool({
host : 'mysql',
port : '3306',
user : 'root',
password : '...',
database : 'general',
connectionLimit : 50,
queueLimit : 5000
});
I am using the standard mysql container.
I am using fig for starting the containers. fig.yml looks something like:
node:
build: node
ports:
- "9000:9000"
- "9001:9001"
links:
- mysql:mysql
command: node server/Main.js
mysql:
image: mysql
volumes:
- /data/test:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: ...
Every time i try to connect i get the following error:
failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server
Any idea what I am doing wrong? I have played around with wordpress and it seems to connect to the same mysql db without any problems.
Thx!
Edit So, I have found the answer in the end. The problem was indeed a privilege issue. I ran the following command:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'
And I was able to access the database.