【问题标题】:Connecting a MySQL database to Apache Superset将 MySQL 数据库连接到 Apache Superset
【发布时间】:2018-06-23 21:00:18
【问题描述】:

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

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

我正在使用 MAMP 和在端口 8889 上本地运行的 MySQL。我正在尝试使用用户 supersetuser 的凭据连接数据库 apache_superset。 我试图在 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。

【问题讨论】:

    标签: mysql sqlalchemy mamp apache-superset


    【解决方案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 地址或名称。

    【讨论】:

      猜你喜欢
      • 2020-10-18
      • 2020-08-07
      • 2023-03-10
      • 1970-01-01
      • 2021-06-08
      • 2021-09-03
      • 2021-03-20
      • 2020-11-13
      • 2020-08-31
      相关资源
      最近更新 更多