この質問はよく聞かれるようですが、私は決定的な答えを見つけることができません。
MySQL を使用していくつかの webapp テストを作成しています。最初は「root」ユーザーを使用しました (パスワードが空でない)。私の root ユーザーは、アプリ (PHP および Python の Django でテスト済み)、コマンド ライン、および PHPMyAdmin から正常に動作しています。
ただし、root ユーザーを使用したくないので、別のユーザーを作成し、そのユーザーに必要なデータベースへのすべての権限を付与しました。(このタスクでは、 'root'としてログに記録された PHPMyAdmin を使用しました)。
新しいユーザーは MySQL にログインできません。Django アプリ、PHPMyAdmin、コマンド ラインのいずれからも。
2 つの疑いがあります。
ユーザーに欠けているグローバル特権があります。(前述のとおり、すべてのデータベース権限を付与しましたが、グローバル権限は付与していません);
ユーザーが構成したホスト。( 'root'は、ホスト'localhost'、'my-pc-name'、'127.0.0.1'および'::1'に対してmysql.userテーブルに4 行あります。一方、新しいユーザーには、ホスト'に対して 1 行あります。 %' )
(パスワードを再確認したので、これはパスワードの問題ではないと確信しています。)