반응형
PDO를 사용하여 외부 데이터베이스에 연결하려고합니다.
$dbh = new PDO('mysql:host=hotsname;port=3309;dbname=dbname', 'root', 'root');
그러나 이것은 내가 가지고있는 특정 서버에서 작동하지 않습니다.
특정 호스트 만 허용 될 수 있다고 생각했지만 mysql 규칙을 확인하고 개인적으로 가지고있는 서버에서이 코드를 사용해 보았고 연결이 작동했습니다.
그래서 나는 코드가 작동하고 그 코드가 내 측에서 차단되지 않으며 방화벽이 포트 3309에 대한 요청을 수락하고 포트 3306의 올바른 서버로 전달하고 있음을 알고 있습니다.
따라서 문제는 한 서버에만 있습니다. 테스트로 포트 3306을 열어 포트를 지정하지 않고 코드를 테스트 할 것이라고 생각했습니다.
$dbh = new PDO('mysql:host=hotsname;dbname=dbname', 'root', 'root');
이것은 곧바로 작동했습니다.
그래서 내 질문은 포트를 추가 할 때 왜 데이터베이스에 연결할 수 없는지입니다. 이 문제가있는 것은이 특정 서버뿐입니다.
시간 내 주셔서 감사합니다.
업데이트
주어진 오류는 단순히 "xxx.xxx.xxx.xxx에서 mysql 서버에 연결할 수 없습니다"입니다.
나는 지금 조금 더 나아졌다. 3306에서 3306을 사용하여 서버로 들어오는 것을 허용하는 방화벽 규칙이 있으면 코드가 작동합니다. 따라서 포트를 지정 했음에도 불구하고이를 무시하고 강제로 3306에서 나가도록하는 것 같습니다.
해결 방법
문제는 결국 호스트 때문이었습니다. 코드에 지정된 포트에 관계없이 모든 트래픽이 3306에서 강제로 나갔습니다.
참조 페이지 https://stackoverflow.com/questions/21046672
반응형
'MySql' 카테고리의 다른 글
MySQL 두 타임 스탬프 사이의 MYSQL 쿼리 (0) | 2020.12.13 |
---|---|
MySQL Workbench 6.0.8.11354 (6.0)의 "Index out of range"오류, 무엇이 잘못 되었습니까? (0) | 2020.12.13 |
MySQL - Getting age and numbers of days between two dates (0) | 2020.12.13 |
MySQL 소켓 '/var/lib/mysql/mysql.sock'을 통해 로컬 MySQL 서버에 연결할 수 없습니다. (2) (0) | 2020.12.13 |
MySQL에서 기본 키 제거 (0) | 2020.12.13 |
댓글