【发布时间】:2021-06-23 18:39:20
【问题描述】:
我今天早上刚刚升级到 Verizon Fios 互联网。我有一个 python 脚本可以访问 raspberrypi 上的 MySQL (mariadb) 服务器上的数据库(两者都在同一个网络上)。它适用于我的旧互联网/IP 地址,但现在我得到了:
mysql.connector.errors.DatabaseError: 1130: Host 'my_computer_name.myfiosgateway.com' is not allowed to connect to this MySQL server
导致错误的步骤:
- 确认运行脚本的计算机的新 IP 地址
- 将 python 脚本使用的配置文件中的 IP 地址更改为新的 IP 地址
- 我在 mysql 服务器中使用运行脚本的笔记本电脑的新主机 IP 地址创建了一个新用户
- 已将服务器上数据库的所有权限授予新用户
- 刷新权限
- 重启mysql服务器
我不确定为什么错误返回的是计算机的名称,而不是 IP 地址,但我什至使用错误中返回的确切主机名执行了上述步骤,但它仍然无法正常工作。我还比较了 MySQL 服务器上旧 IP 地址和新 IP 地址的 GRANTS,它们是相同的。
我可以毫无问题地从我的笔记本电脑上 ping raspberrypi。
我是不是忘记了什么?我可能需要更改路由器上的设置吗?这是脚本运行时唯一与以前不同的地方。
dbConfig.py
dbConfig = {
'host': 'xxx.xxx.x.xxx',
'database': 'NHL',
'user': 'greg',
'password': 'xxxxxx',
}
访问数据库的脚本
import dbConfig as guiConfig
import csv
import time
# connect to server
conn = mysql.connect(**guiConfig.dbConfig)
我的 .cnf 文件中的绑定地址被注释掉了。
【问题讨论】:
-
这与 python 代码本身无关,服务器仅配置为允许 loacalhost 或类似的东西。 mysql配置安全到aölow omöy本地主机访问是正常的。我也想知道为什么你从服务器得到答案你是使用 ssh 还是其他隧道?