web-dev-qa-db-ja.com

Azure仮想マシン上のMySQLサーバーへのリモートアクセスを有効にする方法

Ubuntu13.04を実行しているMySQLサーバーがインストールされたAzure仮想マシンがあります。 MySQLサーバーにリモート接続しようとしていますが、「{IP}でMySQLサーバーに接続できません」という単純なエラーが表示されます。

私はすでに次のことをしました:

* commented out the bind-address within the /etc/mysql/my.cnf
* commented out skip-external-locking within the same my.cnf
* "ufw allow mysql"
* "iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT"
* setup an Azure endpoint for mysql
* "Sudo netstat -lpn | grep 3306" does indeed show mysql LISTENING
* "GRANT ALL ON *.* TO remote@'%' IDENTIFIED BY 'password';
* "GRANT ALL ON *.* TO remote@'localhost' IDENTIFIED BY 'password';
* "/etc/init.d/mysql restart"
* I can connect via SSH tunneling, but not without it
* I have spun up an identical ubuntu 13.04 server on rackspace and SUCCESSFULLY connected using the same procedures outlined here.

ただし、上記のどれも私のAzureサーバーでは機能しません。エンドポイントの作成はうまくいくと思いましたが、うまくいきませんでした。何か助けてください?完全に欠けているものはありますか?

enter image description here

1
Rees

上で引用した「公式マニュアル」は私には機能せず、これを達成するためにsshトンネルを設定したようです...ガイドに従った後でも、それはまだ機能しませんでした。

これが私の実用的な解決策です

Ubuntu Azureの場合VM参照:

https://Azure.Microsoft.com/en-us/documentation/articles/virtual-machines-linux-create-lamp-stack/

具体的には、「MySQLへのリモートアクセスを許可する」セクション

コメントアウト:

 bind-address = 127.0.0.1 

/etc/mysql/my.cnfにあります

実行

 Sudo service mysql restart

リモート接続が機能しました--- VMのAzureサーバーポータルでポート3306が開いていることを確認してください。

2
Don F