2015-01-09 12 views
5

Próbuję skonfigurować kontener nodejs, aby połączyć się z bazą danych mysql.Docker host mysql nieuprzywilejowany

Mój kod wygląda następująco:

var pool = mysql.createPool({ 
    host  : 'mysql', 
    port  : '3306', 
    user  : 'root', 
    password : '...', 
    database : 'general', 
    connectionLimit : 50, 
    queueLimit : 5000 
}); 

używam standardowego mysql pojemnik.

Używam rys. Do otwierania pojemników. fig.yml wygląda mniej więcej tak:

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: ... 

każdym razem staram się łączyć pojawia się następujący błąd:

failed to connect to database: Error: ER_HOST_NOT_PRIVILEGED: Host '172.17.0.142' is not allowed to connect to this MySQL server 

Każdy pomysł co robię źle? Grałem z wordpress i wydaje się, że łączy się z tym samym mysql db bez żadnych problemów.

Thx!

Edytuj Tak więc znalazłem odpowiedź na końcu. Problem był rzeczywiście kwestią uprzywilejowaną. Uruchomiłem następujące polecenie:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' 

Udało mi się uzyskać dostęp do bazy danych.

+1

Czy [to może pomóc] (http://stackoverflow.com/questions/19943615/connect-to-remote-mysql-database)? A może [to] (http://stackoverflow.com/questions/1559955/host-xxx-xx-xxx-xxx-is-not-ileded-to-connect-to-this-mysql-server)? – wassgren

+0

Jaka jest twoja wersja mysql? 'Ogólne' jest zastrzeżonym słowem w mysql 5.6, użyj wstecznego tyknięcia w twojej puli – Mihai

+0

@wassgren Nie sądzę, że jest to problem z uprawnieniami do grantu, ponieważ wordpress łączy się z tą samą bazą danych bez dodatkowych uprawnień – Petru

Odpowiedz

Powiązane problemy