Mysql
遠端連接到 MySQL 數據庫的問題
大家下午好。
我在 2 個不同的網路上有 3 台伺服器,它們都執行 MySQL。
我可以
mysql -u<user> -p -h<ip-addr>
從伺服器 1 使用到伺服器 2 並返回沒有問題。當我嘗試從伺服器 3(位於不同的網路上)到伺服器 1 使用該命令時,我得到以下資訊:-
$ mysql -u<user> -p -h<hostIP> Enter password: ERROR 2003 (HY000): Can't connect to MySQL server on '<hostIP>' (146) $
我知道相同的命令可以使用相同的密碼從伺服器 2 到伺服器 1。我最初的想法是伺服器 3 和伺服器 1 之間存在網路阻塞,但如果是這種情況,那麼伺服器 3 將不會收到密碼提示。
我還查看了伺服器 1 中的使用者表,使用者對本地連接和網路連接具有相同的密碼(這就是它從伺服器 2 到伺服器 1 的原因)。
在密碼提示之後,是否有除 3306 之外的其他埠用作連接的一部分?或者,做不到這一點,我錯過了什麼?
非常感謝,
大衛
這可能有多種原因,但要開始進行故障排除,因為它看起來像是權限/授予的問題。
1.請在伺服器 1 上檢查並分配適當的授權:
GRANT ALL PRIVILEGES ON db.* TO 'username'@'server3_ip' IDENTIFIED BY 'Password'; flush privileges;
上述查詢中的所有內容都不是強制性的。
2.仔細檢查My.cnf中的Bind參數。
bind-address 0.0.0.0
希望這有助於我們進一步調試。