programing

mysql 커넥터 오류 1130: 호스트가 이 MySQL 서버에 연결할 수 없습니다.

sourcejob 2023. 9. 1. 20:51
반응형

mysql 커넥터 오류 1130: 호스트가 이 MySQL 서버에 연결할 수 없습니다.

나는 오늘 아침 버라이즌 파이오스 인터넷으로 방금 업그레이드했습니다.저는 라즈베리파이(둘 다 동일한 네트워크에 있음)의 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. 스크립트를 실행하는 노트북의 새 호스트 IP 주소로 mysql 서버에 새 사용자를 만들었습니다.
  4. 서버의 데이터베이스에 있는 새 사용자에게 모든 권한 부여
  5. 플러시된 권한
  6. mysql 서버를 다시 시작했습니다.

오류가 IP 주소가 아닌 컴퓨터 이름을 반환하는 이유는 잘 모르겠지만, 오류가 반환된 정확한 호스트 이름으로 위의 단계까지 수행했는데 여전히 작동하지 않습니다.또한 MySQL 서버의 GRANT를 이전 IP 주소와 새 IP 주소를 비교해 보았는데 동일합니다.

저는 노트북에서 라즈베리 파이를 아무 문제 없이 ping할 수 있습니다.

제가 뭔가를 잊었나요?라우터에서 변경해야 할 설정이 있습니까?그것이 스크립트가 작동할 때 이전과 달라진 유일한 것입니다.

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 파일의 bind-address가 주석 처리되었습니다.

스크립트를 실행하는 노트북에 다른 IP 주소가 있을 수 있습니까?

데이터베이스에 대한 TCP/IP 연결이 작동하므로 생성된 MariaDB 사용자 또는 해당 권한에 문제가 있을 수 있습니다.에서 다음 매개 변수를 설정할 수 있습니다.my.cnfDNS 확인을 건너뛸 수 있습니다.이렇게 하면 연결 성능이 향상되고 사용자를 혼란스럽게 하는 것 같습니다.그런 다음 연결의 원본 IP 주소가 표시됩니다.

[mysqld]
skip-name-resolve

언급URL : https://stackoverflow.com/questions/66825324/mysql-connector-error-1130-host-not-allowed-to-connect-to-this-mysql-server

반응형