Navicat リモート接続、Docker の mysql、新しいデータベースの作成時にエラーが報告されます: 1044 -Access failed for user 'root'@'%' to Database

 このエラーは、root ユーザーに指定されたデータベースにアクセスする権限がないことを意味します。

 解決策は再び力を与えることです

1. Dockerコンテナ内のMySQLコマンドラインインターフェイスにアクセスします。

docker exec -it mysql mysql -u root -p

2. root ユーザーのパスワードを入力します。

:

パスワードは表示されませんので入力後に入力してください

3. データベースの切り替え

use mysql;

4. テーブル host の列を更新して、root ユーザーの mysql.user 値を に設定します。「%」

update user set host='%' where user='root';

:

        デフォルトでは、MySQL の root ユーザーはローカル コンピュータ (つまり、localhost) からの接続のみを許可されます。ただし、ホスト列を「%」に更新すると、root ユーザーは任意のホストから接続できるようになりますが、セキュリティ上のリスクが生じる可能性があります。root アクセスを特定のホストに制限する場合は、「%」を適切なホスト名または IP アドレスに置き換えます。

 

5. root ユーザーに、MySQL サーバー内のすべてのデータベースとテーブルに対するすべての権限を付与し、任意のホスト ('%') から接続できるようにします。

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

 6. 終了後、docker restart mysql でコンテナを再起動して問題を解決します。

 

おすすめ

転載: blog.csdn.net/m0_74421344/article/details/130977850