我正在尝试将mysql数据库连接到apache超集,但报告了以下错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'supersetuser'@'localhost' (using password: YES)")
我正在使用mamp,mysql在端口8889上本地运行。我正在尝试连接数据库 apache_superset
使用用户的凭据 supersetuser
. 这个 SQLAlchemy
我试图传入apache超集的uri如下所示:
mysql://supersetuser:superset@localhost:8889/apache_superset
我确信这些凭证是正确的,因为我刚刚创建了它们。此外,我还尝试将所需的权限分配给用户
GRANT ALL PRIVILEGES ON `apache_superset`.* TO 'supersetuser'@'localhost' WITH GRANT OPTION;
但是我仍然无法将db连接到apache超集。
1条答案
按热度按时间l7wslrjt1#
我设法通过替换
localhost
与127.0.0.1
所以完整的sqlalchemy uri变成:根据文件:
在unix上,mysql程序特别处理主机名localhost,与其他基于网络的程序相比,这种处理方式可能不同于您所期望的。对于到localhost的连接,mysql程序尝试使用unix套接字文件连接到本地服务器。即使提供了--port或-p选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立tcp/ip连接,请使用--host或-h指定主机名值127.0.0.1,或者指定本地服务器的ip地址或名称。