Ich versuche, einen NodeJS Container zu konfigurieren, um eine MySQL-Datenbank zu verbinden.Docker mysql Host nicht privilegiert
Mein Code sieht wie folgt aus:
var pool = mysql.createPool({
host : 'mysql',
port : '3306',
user : 'root',
password : '...',
database : 'general',
connectionLimit : 50,
queueLimit : 5000
});
ich die Standard mysql Container verwende.
Ich bin mit Feigen die Behälter für den Start. fig.yml sieht ungefähr so aus:
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: ...
Jedes Mal, wenn ich versuche ich die folgende Fehlermeldung zu verbinden:
failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server
Jede Idee, was ich falsch mache? Ich habe mit Wordpress herumgespielt und es scheint sich ohne Probleme auf die gleiche mysql db zu verbinden.
Thx!
Bearbeiten Also habe ich die Antwort am Ende gefunden. Das Problem war in der Tat eine Privilegfrage. Ich habe den folgenden Befehl ausgeführt:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'
Und ich konnte auf die Datenbank zugreifen.
Könnte [dies hilfreich sein] (http://stackoverflow.com/questions/19943615/connect-to-remote-mysql-database)? Oder vielleicht [diese] (http://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-allowed-to-connect-to-this-mysql-server)? – wassgren
Was ist Ihre MySQL-Version? 'General' ein reserviertes Wort in MySQL ist 5.6, verwenden Zecken in Ihrem Pool zurück – Mihai
@wassgren Ich glaube nicht, es ist ein Zuschuss Privileg Problem ist, da Wordpress – Petru