无法在Windows客户端和linux mysql服务器之间建立远程连接

时间:2019-05-27 19:59:33

标签: python mysql linux ubuntu mysql-python

我知道这可能会被标记为重复项,但是在这一点上,我迫切希望获得明确的帮助,因此我提前道歉。

我有两台PC,我想在它们之间建立远程MySQL连接:一台是Widows 10 PC作为客户端,另一台是Ubuntu 18.04.2 LTS PC作为MySQL Server。

对于客户端,我有一个非常简单的python代码,可以ping数据库并在测试表上显示内容:

import mysql.connector as sql
import time

print("Beginning SQP-Python Fetch Testing Script")

con = sql.connect(user = "pythonTest", password = "pyTest1!", host = "1*3.2**.3*.1**", port = "3306",
                  autocommit = True)
curs = con.cursor()

print("Successfully connected to MYSQL server")

curs.execute("use pyTest")

print("Successfully started using test database")

# while True:
curs.execute("select * from pytesting")
print(curs.fetchall())

我正在对主机进行安全检查,但请放心,这是一个真实的IP地址。当我运行代码时,得到以下信息:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '1*3.2**.3*.1**' (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)

在我所看到的所有地方,它都指向未正确配置的Linux PC上的MySQL网络。

对于我的MySQL配置,我具有以下两个变量:

#skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address        = 0.0.0.0
#

我所做的所有其他事情都保持不变,当我在Linux PC上通过MySQL工作台或上面的脚本连接任何东西时,它都可以正常工作。

对于我的网络统计信息,我已经运行过netstat,这是它返回的内容:

hsfc_uno@Uno:~$ netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 host-1*3.2**.3*.1:57210 ec2-52-41-177-216:https ESTABLISHED
tcp        0      0 host-1*3.2**.3*.1:36310 151.101.1.69:https      ESTABLISHED

除了最后一个网段,IP地址与以前完全相同。这些似乎正在使用“默认路径”而不是“ IPv4地址”,并且我不知道这是否也是一个问题。

如果有人可以帮助我修复它或为我指明正确的方向,将不胜感激!

0 个答案:

没有答案