问题描述 投票:0回答:1
我想使用pymysql(python库)访问托管在域

my_domain_name上的MySql数据库。我的代码是:

connection = pymysql.connect('my_domain_name', user, passd, db)
但是我收到此错误

(1045, "Access denied for user 'root'@'ip-address' (using password: YES)")

在大多数答案中,人们建议:

密码错误或'root'用户没有特权 访问数据库

但是,我可以使用以下直接链接访问数据库:http://www.my_domain_name/phpmyadmin/index.php使用相同的用户名和密码。感谢您的帮助。谢谢


注意:

'my_domain_name'

正在转换为ip_address。当我将该IP放置到浏览器中时,它将带我到Internet提供商的网站。
更新:很明显,Internet提供商的

ip_address

已替换domain_name。我该如何解决这个问题?请共享任何链接。谢谢。
python-3.x phpmyadmin pymysql
1个回答
0
投票
Postgres访问控制取决于

client的IP地址,而不是server的IP地址。

我假设您正在连接到Postgres的某个云实例,换句话说,它不在本地计算机上运行。 (如果是本地的,则使用“ localhost”而不是“ my_domain_name”。)

当您连接到Postgres服务器“ my_domain_name”时,它会看到来自您的公共IP地址的传入连接。 (如果您为Google输入“ what's my IP address”,则Google显示的地址应与Postgres消息中的地址匹配。)如果在浏览器中输入该IP地址,则您将连接到自己的路由器。如果您是从ISP那里获得该路由器的,则他们可能会对其进行设置,以便连接到路由器会将您重定向到ISP自己的主页。

您应该查看Postgres访问控制设置,并查看是否允许名为root的用户通过您的IP地址进行连接。访问控制规则位于Postgres pg_hba.conf文件中,但是如果您具有Postgres的云实例,则提供程序可能具有用于维护它们的Web UI。

© www.soinside.com 2019 - 2024. All rights reserved.