gpt4 book ai didi

python - 使用 Python 远程访问 mySQL

转载 作者:行者123 更新时间:2023-11-30 22:06:02 27 4
gpt4 key购买 nike

我无法通过 Python 远程连接到我的 mySQL 数据库。

我使用以下连接到 mySQL:

import mysql.connector
cnx = mysql.connector.connect(host='XXX.XXX.XXX.X',user='XXXX',password='XXXXXX',database='testdb')

但是我得到以下错误:

2003: Can't connect to MySQL server on '%HOST%:3306' (10060 A connection attempt failed because the connected party did not properly respond after a period of time, or established   connection failed because connected host has failed to respond)

服务器正在运行,当我在计算机上运行相同的代码时,我使用 'localhost' 运行服务器 导入 mysql.connector cnx =

mysql.connector.connect(host='localhost',user='XXXX',password='XXXXXX',database='testdb')

它有效,我可以修改数据库中的数据。不过,我正在尝试从另一台计算机远程连接它。

我试过使用 GRANT ALL ON *.* TO User@Host IDENTIFIED BY 'password'; 但没有结果。我检查了我的防火墙并允许所有传入和传出连接通过默认使用的端口 3306。

我是 mySQL 的新手,真的不知道该怎么做。我什至不知道我是否使用了正确的主机名:') 我使用运行服务器的计算机的 IP 地址,我认为这是正确的。

最佳答案

您不需要授予用户所有权限。你需要告诉 MYSQL 这个用户被允许从远程位置登录。

事实上,由于您现在允许通过此用户帐户进行远程访问,因此您应该确保它只能访问它需要访问的数据库,并且绝对不能使用 GRANT

例如

CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

将允许此用户从任何 ip 地址连接。为了更安全,您应该尝试更具体,并尽可能指定一个单独的 IP 地址

CREATE USER 'myuser'@'11.22.33.44' IDENTIFIED BY 'mypass';

请记住,您正在此处创建一个新用户帐户,因为您已经拥有一个myuser@localhost

无论哪种方式,你都需要确保密码是一个强密码,特别是你使用 % any ip 选项

关于python - 使用 Python 远程访问 mySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41749806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com