【问题标题】:mysql connector error 1130: host not allowed to connect to this MySQL servermysql连接器错误1130:主机不允许连接到这个MySQL服务器
【发布时间】: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

导致错误的步骤:

  1. 确认运行脚本的计算机的新 IP 地址
  2. 将 python 脚本使用的配置文件中的 IP 地址更改为新的 IP 地址
  3. 我在 mysql 服务器中使用运行脚本的笔记本电脑的新主机 IP 地址创建了一个新用户
  4. 已将服务器上数据库的所有权限授予新用户
  5. 刷新权限
  6. 重启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 还是其他隧道?

标签: python mysql mariadb


【解决方案1】:

运行脚本的笔记本电脑是否有可能有另一个 IP 地址?

由于与数据库的 TCP/IP 连接有效,因此创建的 MariaDB 用户或其权限一定有问题。您可以在my.cnf 中设置以下参数以跳过 DNS 解析。这提高了连接性能,它似乎让你感到困惑。然后您应该会看到连接的源 IP 地址。

[mysqld]
skip-name-resolve

【讨论】:

    猜你喜欢
    • 2011-02-02
    • 2013-02-11
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2012-11-12
    • 2023-03-26
    相关资源
    最近更新 更多