無法遠端登入MYSQL

無法遠端登入MYSQL

我對 mysql 很陌生,我想使用遠端登入我遵循了這個堆疊進程,但該命令在螢幕上沒有顯示該連結上列出的任何內容

$ lsof -i -P | grep :3306
$

這是輸出。

到目前為止我做了什麼: 我編輯了文件/etc/mysql/my.cnf進行更改,看起來像這樣

skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0

我基本上想要的是遠端登入。我在終端機上運行以下命令

$ mysql -h 127.6.110.2 -u adminTwz5PWn -p
$ enter password:
ERROR 1045 (28000): Access denied for user 'adminTwz5PWn'@'localhost' (using password: YES)

為了獲得所需的信息,我從 Openshift 獲取了此用戶名和密碼 我擔心的是,如果我在命令中提供主機 IP,@'localhost' 會如何出現

我有用戶登入mysql,如下

+------------------+---------------+
| user             | host          |
+------------------+---------------+
| root             | %             |
| root             | 127.0.0.1     |
| adminvKbP1kf     | 127.3.138.130 |
| adminTwz5PWn     | 127.6.110.2   |
| root             | ::1           |
| user             | hostname      |
| debian-sys-maint | localhost     |
| phpmyadmin       | localhost     |
| phpmyadmin_suraj | localhost     |
| root             | localhost     |
| suraj            | localhost     |
+------------------+---------------+

如果我有任何錯誤的地方,請糾正我。需要採取哪些步驟才能成功

答案1

整個 IP 範圍127.0.0.0/8保留用於環回。儘管人們通常只使用127.0.0.1IP,但 IP127.6.110.2也是環回的,因此您會收到「localhost 錯誤」。

在您的 mysql 伺服器上執行ip aifconfig找出您的公用 IP 位址,然後連接到該位址。

您還需要擁有允許從遠端電腦連接的 mysql 使用者。在您的伺服器上執行mysql以開啟 mysql 控制台並執行下列查詢之一(使用您的憑證變更使用者名稱和密碼):

允許遠端使用者僅從特定 IP xxxx 進行連線:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'x.x.x.x' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

允許遠端用戶從任何地方連接:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

為了確保這些查詢生效,請執行FLUSH PRIVILEGES;

相關內容