web-dev-qa-db-ja.com

仮想マシンで実行されているMySQLサーバーに接続する方法

MySQLサーバー5.5.32をUbuntu 12.04で実行しています。 UbuntuはVM上で実行されています。ホストプラットフォームはWindows 7ですWindowsからUbuntuのMySQLに接続するにはどうすればよいですか?

これまでに次のことを行いました。

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

show grant for root;はこれを表示します:

+-------------------------------------------------------------+
| Grants for root@%                                           |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+

しかし、Windowsで実行されているSQLYogからこのサーバーに接続しようとすると、エラーError 2003 Cannot connect to mysql server on '192.168.xxx.xxx'

IPはSQLYogにフィードされ、ifconfigから取得しました。 inet addrを提供しました。

inet addr:192.168.226.xxx  Bcast:192.168.226.yyy

使用されているアドレスは間違っていますか、それともこれらの付与の問題ですか?アドバイスをお願いします。

11
Mono Jamoon

あなたの問題は、(おそらく)mysqlが127.0.0.1ではなく0.0.0.0にバインドされていることです。

/etc/mysql/my.cnfのバインドを0.0.0.0に変更する必要があります

bind-address = 0.0.0.0

そしてもちろんmysqlを再起動します。

新しいバージョンのMySQLでは、スキップネットワークの代わりに、デフォルトでlocalhost bind-address = 127.0.0.1のみをリッスンするようになりました。

したがって、ここにマシンのIPを追加するか、セキュリティ上の懸念がない場合はコメントアウトする必要があります。

2

問題はネットワークアダプターの設定にあると思いますVM設定

VM設定でこのようにします。

VM設定->ネットワークアダプター設定->ブリッジの選択

VMは、ネットワーク接続がオンのときに物理ネットワークに接続しますブリッジモード

ネットワーク接続をbridgedに変更した後、WindowsマシンのVMホストにpingを実行してみてください。

VMがWindowsマシンでpingを実行している場合は、機能します。

1

エラーメッセージError No. 2003: Can't connect to MySQL server on 'localhost' (or some other Host)

単に、次の(または同様の)理由のいずれかで接続できないことを意味します。

  • 指定されたホストで実行されているMySQLサーバーはありません

  • MySQLサーバーへの接続は、TCP-IPを使用して許可されていません。 MySQL構成ファイル(Windowsではmy.ini、Unix/Linuxではmy.cnf)の「skip-networking」設定を確認します。 「#skip-networking」のようにコメント化されます。コメントアウトされていない場合は、コメントアウトし、MySQLサーバーを再起動して変更を有効にします。 SQLyogはTCP-IPを使用して接続する必要があります。

  • ネットワーキングの問題が原因で接続できません。ネットワークの構成ミスまたはファイアウォールの問題である可能性があります。一部のファイアウォールが無効になっていると主張していても、TCP-IP接続をブロックしていることがあります。ほとんどの場合、ファイアウォールをアンインストールして再インストールすると役立ちます。

  • ISPでMySQLサーバーに接続しようとすると、このエラーメッセージは、MySQLへの直接接続がブロックされたことを示していることがよくあります。次に、HTTPトンネリングまたはSSHトンネリングを使用して接続する必要があります。

1
Sathish D

エラー番号2003: '192.168.x.x'のMySQLサーバーに接続できません

単に、次の(または同様の)理由のいずれかで接続できないことを意味します。

  • 指定されたホストで実行されているMySQLサーバーはありません

  • MySQLサーバーへの接続は、TCP-IPを使用して許可されていません。 MySQL構成ファイル(Windowsではmy.ini、Unix/Linuxではmy.cnf)の「skip-networking」設定を確認します。 「#skip-networking」のようにコメント化されます。コメントアウトされていない場合は、コメントアウトし、MySQLサーバーを再起動して変更を有効にします。 SQLyogはTCP-IPを使用して接続する必要があります。

  • Telnetを使用してMySQLポートに接続できることを確認します

    C:\ telnetホスト名/ IP_アドレスポート

0
user2332130