理由分析:
ホスト「ローカル」はこの MySQL サーバーへの接続を許可されていません 典型的なリモート権限の問題です。
問題の核心:
MySQL ではリモート ログイン権限が許可されていません。サーバーが使用しているシステムの種類 (Linux か Windows か) によって解決策は異なります。問題の解決に関する情報はたくさんあります。
解決:
MySQL リモート ログイン アカウントを開くには、主に 2 つの手順があります。
1. サーバー上のファイアウォールがポート 3306 をブロックしていないことを確認します。
MySQL のデフォルト ポートは 3306 です。ファイアウォールがポート 3306 をブロックしていないことを確認する必要があります。ブロックされていないと、ポート 3306 を介して MySQL にリモート接続できなくなります。
MySQL のインストール時に別のポートを指定した場合は、ファイアウォールで MySQL に指定したポート番号を開きます。
サーバーにファイアウォールを設定する方法がわからない場合は、サーバー管理者に問い合わせてください。
2. MySQL ユーザーにリモート接続を許可し、認証する機能を追加します。
1) まず root アカウントで MySQL にログインします。
Windows ホストで [スタート] メニューをクリックし、[ファイル名を指定して実行] をクリックし、「cmd」と入力してコンソールに入り、MySQL bin ディレクトリに入り、次のコマンドを入力します。
Linux ホストのコマンド プロンプトで次のコマンドを入力します。
次のようにコードをコピーします。
> MySQL -uroot -p123456
123456 は root ユーザーのパスワードです。
2) リモートログインユーザーを作成し、認可します。
次のようにコードをコピーします。
> discuz.* 上のすべての PRIVILEGES を '123456' で識別される ted@'123.123.123.123' に付与します。
上記のステートメントは、discuz データベースのすべての権限がユーザー ted に付与され、ユーザー ted が IP アドレス 123.123.123.123 でリモートからログインすることを許可され、ユーザー ted のパスワードが 123456 に設定されていることを示しています。
すべてのパラメータを 1 つずつ分析してみましょう。
all PRIVILEGES は、指定されたユーザーにすべての権限を付与することを意味します。また、選択、挿入、更新、削除、作成、ドロップなどの特定の権限を付与することによって置き換えることもできます。特定の権限は「,」で区切られます。幅のカンマ。
discuz.* は、上記の権限がどのテーブルに対するものであるかを示します。 discuz はデータベースを指し、次の * はすべてのテーブルに対する権限を示します。すべてのデータベースのすべてのテーブルに対する権限が「*.*」であると推測できます。すべてのデータベースのテーブルの権限は「*.*」です。特定のデータベースのすべてのテーブルの権限は「データベース名.*」であり、特定のデータベースの特定のテーブルの権限は「データベース名.テーブル名」です。 。
ted は、承認するユーザーを示します。このユーザーは既存のユーザーでも存在しないユーザーでもかまいません。
123.123.123.123 は、リモート接続を許可する IP アドレスを示します。接続の IP アドレスを制限しない場合は、「%」を設定します。
123456 はユーザーのパスワードです。
上記のステートメントを実行した後、次のステートメントを実行すると、すぐに有効になります。
次のようにコードをコピーします。
> 権限をフラッシュします。