我试图将MySQL数据库连接到Apache,但是报告了以下错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1045, "Access denied for user 'supersetuser'@'localhost' (using password: YES)")我正在使用MAMP,MySQL在端口8889上本地运行。我试图使用用户apache_superset的凭据连接数据库supersetuser。我试图在Apache中传递的SQLAlchemy URI如下所示:
mysql://supersetuser:superset@localhost:8889/apache_superset我确信凭据是正确的,因为我刚刚创建了它们。此外,我还尝试将所需的特权分配给用户。
GRANT ALL PRIVILEGES ON `apache_superset`.* TO 'supersetuser'@'localhost' WITH GRANT OPTION;但是,我仍然无法将数据库连接到Apache Superset。
发布于 2018-01-15 10:50:54
我设法通过用localhost替换127.0.0.1来找到解决方案。
因此,完整的SQLAlchemy URI变成:
mysql://supersetuser:superset@127.0.0.1:8889/apache_superset 根据文档
在Unix上,MySQL程序特别对待主机名localhost,这种方式可能与其他基于网络的程序不同。对于到本地主机的连接,MySQL程序试图使用Unix文件连接到本地服务器。即使给出一个-端口或-P选项来指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP/IP连接,请使用--host或-h指定主机名值为127.0.0.1,或指定本地服务器的IP地址或名称。
https://stackoverflow.com/questions/48259453
复制相似问题