MySQLデータベースをApacheSupersetに接続しようとしていますが、次のエラーが報告されます。
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'supersetuser'@'localhost' (using password: YES)")
ポート8889でローカルに実行されているMySQLでMAMPをapache_superset
使用していますsupersetuser
。ユーザーの資格情報を使用してデータベースに接続しようとしています。SQLAlchemy
URI私は以下のようなApacheのスーパーセットのルックスに合格しようとしています:
mysql://supersetuser:superset@localhost:8889/apache_superset
資格情報を作成したばかりなので、資格情報が正しいと確信しています。さらに、必要な権限をユーザーに割り当てようとしました
GRANT ALL PRIVILEGES ON `apache_superset`.* TO 'supersetuser'@'localhost' WITH GRANT OPTION;
しかし、それでもデータベースをApacheSupersetに接続できません。
私は置き換えることで解決策を見つけることができたlocalhost
と127.0.0.1
したがって、完全なSQLAlchemyURIは次のようになります。
mysql://supersetuser:[email protected]:8889/apache_superset
ドキュメントによると:
Unixでは、MySQLプログラムはホスト名localhostを特別に扱い、他のネットワークベースのプログラムと比較して予想とは異なる可能性があります。ローカルホストへの接続の場合、MySQLプログラムはUnixソケットファイルを使用してローカルサーバーへの接続を試みます。これは、ポート番号を指定するために--portまたは-Pオプションが指定されている場合でも発生します。クライアントがローカルサーバーにTCP / IP接続を確立するようにするには、-hostまたは-hを使用して、ホスト名の値127.0.0.1、またはローカルサーバーのIPアドレスまたは名前を指定します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加