将MySQL数据库连接到Apache Superset

时间:2018-01-15 08:44:16

标签: mysql mamp apache-superset

我正在尝试将MySQL数据库连接到Apache Superset,但报告了以下错误:

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'supersetuser'@'localhost' (using password: YES)")

我正在使用MAMP和端口8889本地运行的MySQL。我正在尝试使用用户apache_superset的凭据连接数据库supersetuser。 我试图在Apache Superset中传递的SQLAlchemy URI如下所示:

mysql://supersetuser:superset@localhost:8889/apache_superset

我很确定凭据是正确的,因为我刚创建它们。 此外,我还尝试为用户分配所需的权限

GRANT ALL PRIVILEGES ON `apache_superset`.* TO 'supersetuser'@'localhost' WITH GRANT OPTION;

但我仍然无法将数据库连接到Apache Superset。

1 个答案:

答案 0 :(得分:1)

我设法通过将localhost替换为127.0.0.1

来找到解决方案

因此完整的SQLAlchemy URI变为:

mysql://supersetuser:superset@127.0.0.1:8889/apache_superset 

根据documentation

  

在Unix上,MySQL程序专门处理主机名localhost   与其他人相比可能与您的期望不同的方式   基于网络的程序。用于连接到localhost,MySQL程序   尝试使用Unix套接字文件连接到本地服务器。   即使给出了--port或-P选项来指定端口,也会发生这种情况   数。确保客户端建立TCP / IP连接   本地服务器,使用--host或-h指定主机名值   127.0.0.1,或本地服务器的IP地址或名称。