使用Python连接器从RaspberryPi远程访问MySQL数据库

使用Python连接器从RaspberryPi远程访问MySQL数据库,mysql,python-3.x,mysql-python,Mysql,Python 3.x,Mysql Python,我试图从raspberry pi远程访问存储在windows机器上的MySQL数据库。我使用的MySQL版本是服务器版本:8.0.19 MySQL社区服务器-GPL。我在windows计算机上设置了一个名为“RaspberryPi”的用户,并授予其访问数据库“database1”的权限 CREATE USER RaspberryPi@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON database1.* TO RaspberryPi@'

我试图从raspberry pi远程访问存储在windows机器上的MySQL数据库。我使用的MySQL版本是服务器版本:8.0.19 MySQL社区服务器-GPL。我在windows计算机上设置了一个名为“RaspberryPi”的用户,并授予其访问数据库“database1”的权限

CREATE USER RaspberryPi@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database1.* TO RaspberryPi@'%';
我正在使用python连接器与数据库交互

在本地windows计算机上运行python脚本时,它可以正常工作,但在尝试实现远程连接时,它会导致错误。我在raspberry pi上运行的代码如下所示

#!/usr/bin/python3.7
import mysql.connector
from mysql.connector import MySQLConnection, Error

def connect():
    conn = None
    try:
        conn = mysql.connector.connect(
            host=<IP_ADDRESS_OF_WINDOWS_MACHINE>,
            database='database1',
            user='RaspberryPi',
            password='password',
            port=3309
        )
        if conn.is_connected():
            print('Connected to MySQL database')
    except Error as e:
        print(e)

    finally:
        if conn is not None and conn.is_connected():
            print('Connection closed')
            conn.close()

if __name__ =='__main__':
    connect()
#/usr/bin/python3.7
导入mysql.connector
从mysql.connector导入MySQLConnection时出错
def connect():
conn=无
尝试:
conn=mysql.connector.connect(
主机=,
database='database1',
user='RaspberryPi',
password='password',
端口=3309
)
如果连接已连接():
打印('连接到MySQL数据库')
除错误e外:
打印(e)
最后:
如果conn不是None且conn.已连接():
打印('连接已关闭')
康涅狄格州关闭
如果“名称”=“\uuuuuuuu主要”:
连接()
上述代码的结果是:

2003: Can't connect to MySQL server on '<IP_ADDRESS_OF_WINDOWS_MACHINE>:3309' (110 Connection timed out)
2003:无法连接到“:3309”上的MySQL服务器(110连接超时)
我已经阅读了关于更改“绑定地址”的其他问题 但是,在我位于C:\ProgramData\MySQL\MySQL Server 8.0\my.ini下的配置文件中,该文件中没有提到绑定地址

我还尝试使用windows机器上的workbench连接到数据库,但没有给它默认的127.0.0.1主机名,而是给了它windows机器的IP地址,它连接得很好

编辑


问题在于端口号应为3306,如评论中所述。我仍然无法在MySQL的配置文件中找到绑定地址。

您确定这是ok port=3309吗??MySql标准端口是3306谢谢你我一直在为我做错的事情发狂哈哈现在工作了