無法連接到 Azure 上新安裝的 Linux 和 MySQL 上的工作台

無法連接到 Azure 上新安裝的 Linux 和 MySQL 上的工作台

UbuntuMicrosoft Azure.我創建了一個入站規則以允許port 3306

我跑了updates and upgrades

我做到了sudo apt install mysql-server

我檢查以確保它正在運行:

sudo service mysql status

現在我嘗試透過連接到它,但當我單擊按鈕MySQL Workbench 時無法連接到它test connection

我還缺什麼?

答案1

要將 MySQL 暴露給 localhost 以外的任何東西,您必須使用以下行

適用於 mysql 5.6 及以下版本

在 /etc/mysql/my.cnf 中取消註釋並分配給您的電腦 IP 位址而不是環回

適用於 mysql 5.7 及以上版本

在 /etc/mysql/mysql.conf.d/mysqld.cnf 中取消註解並分配給您的電腦 IP 位址而不是環回

將 xxx 替換為您的 IP 位址

bind-address        = xxx.xxx.xxx.xxx

bind-address = 0.0.0.0或者如果您不想指定 IP,請新增一個 。

然後停止並使用新的 my.cnf 條目重新啟動 MySQL。運行後,轉到終端機並輸入以下命令。

lsof -i -P | grep :3306

應該會傳回類似這樣的內容,其中 xxx 包含您的實際 IP

mysqld  1046  mysql  10u  IPv4  5203  0t0  TCP  xxx.xxx.xxx.xxx:3306 (LISTEN)

如果上述語句正確傳回,您將能夠接受遠端使用者。但是,要使遠端用戶以正確的權限進行連接,您需要在本機主機和「%」中建立該用戶,如下所示。

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
then,

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

最後,

FLUSH PRIVILEGES; 
EXIT;

然後你就可以連接到你的mysql了。

希望對你有幫助。

相關內容