Azure に新しくインストールされた Linux と MySQL のワークベンチに接続できない

Azure に新しくインストールされた Linux と MySQL のワークベンチに接続できない

Ubuntuに新しいServer v18を作成しましたMicrosoft 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.0IP を指定したくない場合は を追加します。

次に、新しい 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 に接続できます。

これがお役に立てば幸いです。

関連情報