2011-08-03 2 views
1

MySQL 서버로 보내는 쿼리를 분석하고 싶습니다. 나는 IP를 127.0.0.3 내 자신 벌인를 생성하고 그래서 포트 3303 을 듣고mysql_connect PHP 함수를 통해 내 서버에 연결하는 방법

if (mysql_connect('127.0.0.1', 'root', '12345')) { 
     mysql_select_db('db'); 
    } else { 
     print "connection failed...."; 
    } 

: 또한 프로그램 (전송 쿼리) 코드는 여기에 MySQL 서버에 연결하는 기능입니다, 그래서 같은 해야 나는 이런 식으로이 기능을 재 작성 :

if (mysql_connect('127.0.0.3:3303', 'root', '12345')) { 
      mysql_select_db('db'); 
     } else { 
      print "connection failed...."; 
     } 

내 서버가 연결을 참조 연결을 시도하지만, 같은 로그인 ('루트') 및 암호와 같은 데이터를 수신하지 않습니다

. 따라서 서버 프로그램에서 MySQL에 연결할 수 없습니다.

최상의 솔루션은 무엇입니까? 감사합니다

+1

IP 주소 대신 local_host를 사용하십시오. –

+2

@Michael : 로컬 호스트입니다. 그리고 나는 그렇지 않다는 것을 알았습니다 : 127.0.0.3 –

+0

웹 응용 프로그램에서 이것을 사용할 생각이라면,하지 마십시오. PDO 사용 http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ – Calum

답변

1

글쎄, 한 가지 표준 MySQL 포트는 3306입니다. 127.0.0.3의 설정 파일을 점검하여 설정 한 포트인지 확인하고 해당 포트를 차단하는 방화벽이 없는지 확인합니다.

추측, 나는 당신이 설정 파일에

# skip-networking 

이 있는지 확인합니다. 일부 설치에서는 skip-networking이 기본값으로이 활성화 된 이며 서버는 다른 컴퓨터의 연결을 수신하지 않습니다.

또한 서버가 127.0.0.x로 패킷을 전달하지 않을 수도 있습니다. localhost 용으로 예약되어 있기 때문입니다. 이를 확인하려면 두 컴퓨터간에 기본 네트워킹이 작동하는지 확인하십시오 (ping, traceroute).

+0

Skip-networking is disabled – vladimar

+0

mysql_connect()가 데이터를 보내야한다고 생각하지만 읽을 수가 없다. 내 문제입니다. – vladimar

+0

@vladimar mysql_connect()를 비난하기 전에 기본 네트워킹을 백업하고 테스트해야합니다. –

0

고정 된 "연결 실패"오류 메시지는 디버깅 목적으로는 전혀 쓸모가 없습니다. 대신이 시도 :

if (mysql_connect('127.0.0.3:3303', 'root', '12345')) { 
    ... 
} else { 
    die(mysql_error()); 
} 

는 MySQL은 문제가 정확히 무엇을 이야기 한 대신 문제가있는 말과 어둠 속에서 주위에 떨고의.

관련 문제