2013-03-26 4 views
0

미리 양해 해 주셔서 감사합니다. 이 글을 타이핑하기 시작하면서, SO가 유사한 주제를 찾아보기 위해 제목에이 기능을 추가 한 것을 알게되었습니다. 자원을 다 써 버린 후에이 게시물을 계속 사용하겠습니다."지정된 MySQL 호스트에 연결할 수 없습니다"

로컬 네트워크에 두 대의 컴퓨터가 있습니다.
제작 상자 - 우분투, 아파치, 모노, Asp.net, C# (모두 최신).
개발 상자 - 자 마린

내 WAN의 IP에 포트 80 중

내 생산 상자 호스트와 윈도우 XP, 그래서 내 모바일 장치 (생산 테스트) 또는 내 개발 상자 (브라우저 생산 테스트에서 내 웹 사이트를 방문 할 수 있습니다, 또는 Xamarin을 사용한 원격 개발 env 테스트).

내 연결 문자열은 다음과 같습니다. server = $ servername $; port = 3306; database = $ databasename $; uid = $ username $; password = $ password $;

네 개의 서버 값 조합 ([SERVERNAME], localhost, 127.0.0.1, 원격 dev env 테스트의 실제 네트워크 IP)을 모두 사용했습니다.

나는 나의 cnf에 bind-address : 127.0.0.1을 가지고있다.

내 사이트를 방문 할 때마다 계속해서 "지정된 MySQL 호스트에 연결할 수 없습니다"라는 오류 메시지가 나타납니다. 프로덕션 테스트 (내 WAN IP를 브라우저에 입력하여 사이트 방문, MySql과 같은 상자에 있음) 또는 원격 연결 (개발 클라이언트, Xamarin 디버거).

NETSTAT 내가 포트 3306 내가 연결 문자열에서 포트 3306을 제거하려고

에서 수신하고 말한다.

암호/사용자 ID/사용자 ID/사용자가 다른 조합을 사용하여 시도했습니다.

ALL FAILURE. 도와주세요!

+0

지금 받고 있습니다 : 사용자 'root'@'SERVER01.local'에 대한 액세스가 거부되었습니다. 암호 사용 : 예) –

답변

1

my.cnf 파일에 127.0.0.1을 바인드 한 경우 로컬 데이터베이스 컴퓨터에서만 데이터베이스에 연결할 수 있습니다. 127.0.0.1은 로컬 루프백 주소이며 로컬 호스트 연결 만 허용합니다. 웹 사이트가 동일한 서버에 호스팅되어 있지 않은 경우 연결할 수없는 이유입니다.

다른 서버에서 데이터베이스에 연결하려면 데이터베이스 서버의 LAN IP를 my.cnf 파일에 바인드하십시오.

그런 다음 연결 문자열에 데이터베이스 서버의 LAN IP 주소를 넣을 수 있습니다 그리고 당신은

귀하의 오류가 실제로 네트워크 연결 오류, 당신은 아직 인증되지 않은됩니다

그렇게 노력하고 다른 사용자 이름을 연결할 수 있어야합니다 암호가 도움이되지 않습니다. 일단 네트워크 문제를 해결했다면 인증에 실패하면 다른 오류가 나타납니다 (예 : user @ host using password failed)

+0

해결 방법으로 표시하십시오. 예상대로 새로운 오류 메시지가 나타납니다. =) –

+0

제 경우에는 작동하지 않습니다 ... 죄송합니다 ... –

관련 문제