一千萬個為什麽

搜索

一共有 2 個回答:

首先,確認容器實際上是監聽連接並已正確綁定到界面。如果沒有,你可能需要修改my.cnf中的 bind-address = 和/或 port = 指令。

否則,您的GRANT可能有問題。使用該命令檢查IP /子網在mysql.user表中是否正確授權

select user,host from mysql.user

如果主機字段不正確,則需要使用UPDATE修復它

由於響應是拒絕用戶訪問,所以端口和IP地址是正確的。

我認為@James所說的唯一問題將會在權限中,您必須允許從elk和php容器訪問mysql的 root ,您可以以簡單的方式執行此操作,但它不安全:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password';
  • %: mean match all

或者您可以指定誰具有每個域名或ip的訪問權限:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.18.0.2' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.18.0.3' IDENTIFIED BY 'password';

PS:不要忘記更改密碼以匹配您的root密碼