6

MySQL Workbench をダウンロードしました。

しかし、これをリモートサーバーのデータベースと同期する方法がよくわかりません。

ワークベンチが「ホスト名」を要求するので、リモート サーバーのホスト名を指定しました。ポート 3306 を指定します。

次に、ユーザー名を提供します。これは、私が PhpAdmin にログインするときに使用するユーザー名です。別のユーザー名を使用する必要がありますか?

次に、PhpAdmin で使用するものと同じパスワードを指定します。

しかし、これはうまくいきません。

奇妙なことに、エラーは常に私のユーザー名が次のとおりであることを示しています。username@current_network_im_using_to_access_the_internet

しかし、これは正しくないようです。phpAdmin では、私のユーザー名はusername@localhost.

どうすればいいのかよくわかりません。

手伝って頂けますか?

4

3 に答える 3

14

MySQL は、ログインを元のホストに固有のものとして扱います。サーバー自体で使用するパスワードとは異なるパスワードをホーム マシンから使用できます。また、異なるオリジン ホストから同じユーザー名にまったく異なる権限セットを付与できます。

PHPMyadmin では、データベースは Web サーバーと同じサーバー上で実行されているため、それ自体localhostを IP 付きの と呼びます127.0.0.1。Workbench がインストールされているマシンは、MySQL とは異なる認証情報でアクセスする必要がありますusername@localhost。サーバーでは、接続元のホストからユーザー名へのアクセスを許可する必要があります。

PhpMyAdmin では、リモート ホストからデータベースへのアクセスを許可する必要があります (任意のホストからの接続を許可する方法については、Pekka の回答も参照してください) 。

GRANT ALL PRIVILEGES on dbname.* TO yourusername@your_remote_hostname IDENTIFIED BY 'yourpassword';

localhostリモートホスト用に複製できるように、現在所有しているすべての許可を表示するには、次のようにします。

SHOW GRANTS FOR yourusername@localhost;

さらに、最初にリモート接続を受け入れるように MySQL サーバーをセットアップする必要があります。これは、特に Web ホスティング プラットフォームでは常に当てはまるとは限りません。my.cnfファイルでは、skip-networking行を削除するかコメントアウトする必要があります。行がない場合は、skip-networking行をコメントアウトする必要があります。

bind-address = 127.0.0.1 

...その後、MySQL を再起動します。

于 2011-06-18T14:48:23.727 に答える
1

phpMyAdmin は、データベース自体と同じサーバー上で実行されているようです。

したがって、username@localhostサーバーへの接続に使用できます。

username@%別のユーザー( %「任意のホスト」を意味する)を追加して、mySQL が外部の localhost からの接続を受け入れるようにする必要があります。

ただし、これは良い方法ではないことに注意してください。静的 IP を使用している場合は、その 1 つのアドレスへのアクセスを制限することを検討してください。

于 2011-06-18T14:47:22.300 に答える