'localhost'は、常にMySQLで特別なものです 。あなたの場合、[email protected] を付与します いくつかの特権とこれは「UNIXソケットを介して接続するユーザークローラー」を意味します。そして、MySQLサーバーは-skip-networking 。
これは、明示的にすることで修正できます。 unix_socket接続引数 を使用する データベースドライバの場合、UNIXソケットの使用を強制します。 (私はそのドライバーのメンテナーなので、恥知らずにMySQL Connector / Pythonドキュメントにリンクしています。)