0

Amazon EC2 インスタンスからプラットフォームをホストする Java PaaS (CloudBees) のアカウントを持っています。私のアカウントには MySQL サーバー インスタンスへのアクセス権が付属しており、Windows 7 マシンではなく、Linux (Ubuntu 12.04 デスクトップ) マシン上のクライアントから MySQL サーバーにログインしようとしたときにのみ発生する奇妙なエラーが発生します。

これは、Ubuntu マシンで MySQL Workbench にログインしようとしたときのエラーのスクリーンショットです。

ここに画像の説明を入力

このマシンに別の MySQL クライアント (Squirrel SQL) がインストールされていることに注意してくださいdl_web。アカウントにログインしようとすると、まったく同じエラーがスローされます。Squirrel SQL は純粋な Java アプリケーションであり、MySQL Workbench と Squirrel SQL が共通の依存関係を共有しておらず、何も見つからないことを確認しようとしました (ただし、間違っている可能性があります)。

ただし、Windows 7 マシンにある MySQL Workbench インスタンスでログインしようとすると、問題なくログインできます。

そのエラー メッセージから確認すべき 4 つの事項のリストを考えると、次のようになります。

  1. はい、もちろん MySQL サーバーは EC2 インスタンスで実行されています。そうしなければ、CloudBees は廃業し、Windows 7 マシンからログインできなくなるでしょう。
  2. 3306 が正しいポートです。これは CloudBees サポート スタッフに確認しました
  3. これについてはよくわかりません- おそらく、MySQL サーバー インスタンスは Linux クライアントからの接続を拒否するように構成されているのでしょうか?!?!
  4. 使用しているパスワードは正しいです。確認して再確認し、再確認しました。

したがって、これまでのところ私が持っている唯一の2つの理論は次のとおりです。

  • MySQL サーバー インスタンスは、何らかの方法で Linux クライアントからの接続を拒否するように構成されています (これは可能なのでしょうか? )。また
  • 私の Ubuntu マシンの MySQL Workbench と Squirrel SQL インスタンスは、バグがあるか、構成が誤っているいくつかの共通の依存関係を共有しています。これは2つのシナリオの可能性が高いですが、この依存関係が何であるかを突き止めることができませんでした...

また、MySQL Workbench と Squirrel SQL の両方から得られる正確なエラー メッセージに注意してください。

'dl_web'@'%'データベースへのユーザーのアクセスが拒否されました...

私のユーザーはdl_web...違います'dl_web'@'%'!!! 奇妙ですよね?

何か案は?前もって感謝します!

4

1 に答える 1

1

あなたは AWS 内のホストされた環境にいるように見えますが、ルートにアクセスしたり、テーブルの許可を表示したりすることはできませんが、これは他の誰かを助け、いくつかの手順を示している可能性があります。

まず、sqlyog (または toad または mysql ワークベンチ) にアクセスして AWS mysql に接続しようとすると、次のエラーが発生します。

http://img836.imageshack.us/img836/4594/out1.GIF

問題は root@pool-72-93-207-216.bstnma.fios.verizon.net です

だから私はルートでmysqlに入ります(はい、あなたがこれを行うことができないかもしれないことを知っています!).

そして、私は次のことを行います

mysql> use test;


mysql> grant all privileges on test.* to 'root'@'pool-72-93-207-216.bstnma.fios.verizon.net'  identified by 'mypassword123z';




mysql> select user,host from mysql.user;
+------------------+--------------------------------------------+
| user             | host                                       |
+------------------+--------------------------------------------+
| foo_user         | %                                          |
| root             | 127.0.0.1                                  |
| foo_user         | 72.93.207.216                              |
| foo_user2        | 72.93.207.216                              |
| root             | ::1                                        |
|                  | domU-12-31-38-04-B2-89                     |
| root             | domU-12-31-38-04-B2-89                     |
|                  | localhost                                  |
| debian-sys-maint | localhost                                  |
| phpmyadmin       | localhost                                  |
| root             | localhost                                  |
| root             | pool-72-93-207-216.bstnma.fios.verizon.net |
+------------------+--------------------------------------------+

mysql> SHOW GRANTS FOR 'root'@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*4F4504C8CA8D22648E58B5092F653457698A9EBE' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION                                                                           |
+----------------------------------------------------------------------------------------------------------------------------------------+

mysql> show grants for 'root'@'pool-72-93-207-216.bstnma.fios.verizon.net';
+----------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@pool-72-93-207-216.bstnma.fios.verizon.net                                                                                   |
+----------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'pool-72-93-207-216.bstnma.fios.verizon.net' IDENTIFIED BY PASSWORD '*CACE4BB4D0A5D265BA7FCBEED600DC8976884A43' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'root'@'pool-72-93-207-216.bstnma.fios.verizon.net'                                                      |
+----------------------------------------------------------------------------------------------------------------------------------------------+

次に、sqlyog (または toad または mysql ワークベンチ) に戻り、root とパスワード mypassword123z でログインします。

さらに、Putty などを使用して、ポート 22 と AWS pem ファイルを介して安全な SSH プロキシ トンネルを作成できます。

于 2013-05-25T13:58:51.437 に答える