2011-12-10 9 views
1

나는 내 dev 환경을 윈도우 기반의 우분투 서버 (램 설치 포함)로 설정했다. VM웨어가 로컬 Windows 7 시스템에서 실행 중입니다. HeidiSQL 프로그램을 통해 MySQL 서버에 액세스하려고하면 연결이 실패합니다. 얻을 수있는 :로컬 컴퓨터가 아닌 원격 컴퓨터에서 MySQL에 액세스하는 방법은 무엇입니까?

Server Error 2003, can't connect to mysql server on <IP ADRESS HERE> 

하지만 PhpMyAdmin을 통해 db 서버에 액세스 할 수 있습니다. MySQL이 실행 중이고 연결 자격 증명과 포트가 모두 올바른 것입니다.

연결하려는 컴퓨터의 IP 주소를 my.cnf 파일의 "bind address"로 입력해야한다는 내용을 읽었습니다. 나는 그랬다. 나는 내부 IP뿐만 아니라 온라인 IP도 시도했다. 운이 없다, 같은 메시지.

프로덕션 환경이 아니기 때문에 모든 사람이 해당 서버에 액세스 할 수 있도록 허용하고 IP로 제한하지 않는 것이 좋습니다. 특히 ISP가 동적 IPS를 할당하기 때문에. 그래서 나는 항상 그것을 변화시켜야한다고 생각합니다.

그래서 원격 컴퓨터에서 MySQL 서버에 연결하는 방법을 아는 사람이 있습니까?

P. 나는 이것이 개발자가해야 할 일이라고 생각한다. 그래서 내가 슈퍼 유저가 아닌 그것을 게시 한 이유이다. 마이그레이션해야하는 경우 수퍼 유저가 아닌 서버 오류로 보내주십시오.

+0

에 연결을 시도합니다. – BizApps

답변

4

좋아,이 세계와 그의 개는 귀하의 MySQL 서버에 액세스 할 수 있습니다.

GRANT ALL ON *.* to '%'@'%' WITH GRANT OPTION; 

하지만 가정 네트워크가 192.168.1.2/16이라고 가정하면 적어도 이렇게 제한 할 수 있습니다.

GRANT ALL ON *.* to '%'@'192.168.%' WITH GRANT OPTION; 

또 다른 옵션은 사용자와 암호를 가지고 있지만이 문서의 지침에 따라 작동하도록 얻을 수 있었다 하이디 SQL의 어느 곳

GRANT ALL ON *.* to 'mysecretuser'@'%' IDENTIFIED BY 'mysecretpassword' WITH GRANT OPTION; 
+0

총 멍청한 놈 여기에, 어디서이, MySQL의 모니터에 입력합니까? 또는 cnf 파일에 추가 하시겠습니까? – TK123

+0

이것은 클라이언트를 통해 mysql 데이터베이스에 연결하는 것입니다. –

+0

그래서 나는 mysql 커맨드 라인에서 1을 입력하려고 시도했다. 그런 다음 서버를 재부팅하고 원격 시스템에서 다시 한 번 연결하려고 시도했지만 여전히 동일한 오류가 발생했습니다. – TK123

1

처음에 cmd에서 사용하는 VM웨어에 할당 된 IP를 확인

ipconfig/all 

가정 해 VM웨어에 우분투가 ipadress 우분투의

ifconfig 

가정 해 IP 주소를 확인에서 VM웨어에서 지금 192.168.11.1 됩니다 ipassigned 192.168.11.137 이제 mysql 설정을 엽니 다.

sudo nano/etc/mysql/my.CNF 지금

mysql -u root -p 

를 MySQL로 연결 IP 주소를

bind-address = 192.168.11.137 

다시 시작 mysql을 을 우분투 바인드 주소를 변경하고, 즉 192.168.11.1

VM웨어의 모든 권한과 호스트 IP와 사용자를 생성
GRANT ALL ON db.* TO [email protected]'192.168.11.1' IDENTIFIED BY 'PASSWORD'; 

이제 창에서 연결을 시도하십시오. mysql을의 또한 열린 포트

/sbin/iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT 

다시 시작 MySQL과 여기에 연결 문자열 http://www.connectionstrings.com/mysql을 확인 우분투 호스트의 IP 주소 192.168.11.137

관련 문제