簡體   English   中英

Docker mysql主機沒有特權

[英]Docker mysql host not privileged

我正在嘗試配置nodejs容器以連接到mysql數據庫。

我的代碼看起來像這樣:

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

我正在使用標准的mysql容器。

我用無花果啟動容器。 fig.yml看起來像:

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

每次我嘗試連接時都會收到以下錯誤:

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

知道我做錯了什么嗎? 我玩過wordpress,似乎連接到同一個mysql db沒有任何問題。

謝謝!

編輯所以,我最終找到了答案。 這個問題確實是一個特權問題。 我運行了以下命令:

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

我能夠訪問數據庫。

我使用drakedroid / mysql-with-data( https://registry.hub.docker.com/u/drakedroid/mysql-with-data/ )圖像。 它擴展了默認圖像,但增加了更多功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM