解決策: 1. "select host,user from user;" を使用して、root ユーザーの接続可能なホスト範囲を表示します。 2. "update user set host='%' where user='root';" を使用します。 root ユーザーの変更権限を変更するためのホスト範囲は任意のホストです; 3. 「systemctl restart mysqld」を使用してデータベースを再起動します。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
私の分析と解決手順:
1. root ユーザーの接続可能な権限のホスト範囲を確認します
ステップ 1: 次のコマンドを使用して mysql モニターにログインします: mysql -uroot -p
ステップ 2.: プロンプトに従ってパスワードを入力します
ステップ 3: コマンドで mysql データベースを選択します: use mysql;
ステップ 4: コマンドで: select host,user from user;
インターフェイスが次の場合、出力は:
±----------±----------+ | host | user | ±----------±----------+ | localhost | mysql.sys | | localhost | root | ±----------±----------+
上図からわかるように、root ユーザーの接続可能な権限のホスト範囲は localhost です。テストとプレイのためにここにいます。IP は固定されていないので、直接開きますすべてのホストへのアクセス許可。
2. root ユーザーの接続権限のホスト範囲を変更する
#ステップ 5: root ユーザーの接続権限のホスト範囲を変更する任意のホストに対して、コマンドを実行します: update user set host='%' where user='root';
ステップ 6: root ユーザーの接続許可を再度確認します: select host,user from user;
インターフェイスは次のように出力します。
±----------±----------+ | host | user | ±----------±----------+ | % | root | | localhost | mysql.sys | ±----------±----------+
図からわかるように、root ユーザーが接続できるホスト範囲には、任意のホストを示す「%」記号が付いています。
3. データベースを再起動します
#ステップ 7: 権限を変更した後も mysql データベースにリモートで接続できない場合は、 MySQL サーバーで、次のコマンドを実行します:
systemctl restart mysqld
この時点で、root ユーザーを通じて接続を再試行できます。
最後に、サンプル画像を添付します:
推奨学習: mysql ビデオ チュートリアル
以上がmysql がリモート接続できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。