2012-05-26 4 views
1

내 IP 주소에서 모바일 웹 앱에 연결하려고합니다. 수정해야하므로 안드로이드 전화에서 테스트 할 수 있습니다. 그러나 로그인 화면이 localhost 및 my ip 주소에서 액세스 할 때 표시되지만 localhost 주소에서만 로그인 할 수 있습니다. IP 주소에서도 연결되지 않습니다.MySQL은 로컬에 연결할 수 있지만 원격으로는 연결할 수 없습니다.

MAMP Pro를 실행 중이며 "로컬 액세스 만 허용"을 선택 취소했습니다. 나는 MySQL my.cnf에 들어가서 바인드 주소를 127.0.0.1에서 내 IP로 변경했다. 나는 또한 "MAMP_skip-networking_MAMP"라인을 주석 처리했다. 그런 다음 config.php에서 사용자와 일치하는 사용자를 만들고 데이터베이스에 대한 전체 액세스 권한을 가지며 호스트를 %로 설정합니다. config.php 파일에서

, 나는에 호스트 이름을 변경 시도했다 :

  • 로컬 호스트
  • 로컬 호스트 : [포트 번호]
  • [IP 주소]
  • [IP 주소] [포트 번호]
  • /Applications/MAMP/tmp/mysql/mysql.sock 아직도

. . 아무것도. 내 IP에서 사이트에 액세스하려고 시도 할 때 여전히 로그인 할 수 없습니다. 어떤 도움/방향을 크게 주시면 감사하겠습니다.

답변

0

문제는 클라이언트와 관련이 없으며 대부분 서버와 관련이 있습니다. 대부분의 MySQL 서버는 로컬이 아닌 연결 시도를 거부하도록 구성됩니다 (기본적으로 생각합니다). 설정을 변경하기 위해 config/info 스키마 변경을하기 위해 몇 초만 기다리십시오.

경고, 모든 요청에 ​​대해 db를 여는 것은 좋지 않습니다. 한 사용자의 모든 IP 요청을 열어 보거나 특정 IP의 모든 사용자로부터의 요청을 허용하거나 (또는 ​​두 가지를 결합하여 특정 사용자 만 특정 IP에서 요청할 수 있도록) . (당신이 같이있어 가정 : 내가 잘못 아니에요 경우, 다음과 같은 쿼리를 실행하는 것입니다,

how-do-i-enable-remote-access-to-mysql-database-server

간단한 방법은 그것을 할 : 여기

좋은 (그러나 다시 위험) 튜토리얼입니다 "최고 관리자는".

USE information_schema; 
UPDATE USER_PRIVILEGES SET Host='%' WHERE user='superadmin'; 
FLUSH PRIVILEGES; 
USE mysql; 
UPDATE user SET Host='%' WHERE user='superadmin'; 

위는 기본적으로 다음 어떤 IP에서 해당 DB 및 보조금 최고 관리자의 액세스 스위치가 다시에 제공된 링크를 따라 (이미 부여되지 않은 경우) MySQL의 DB에 대한 최고 관리자 액세스 권한을 부여 사용자 당 및 IP 당 조정 방법을 참조하십시오. 그렇지 않으면 멋진 MySQL GUI를 사용하는 데 어려움을 겪을 수 있습니다.

위의 경우보다 복잡 할 수 있습니다 (다시 시작해야 할 수도 있음). 또 다른 좋은 기사는 다음과 같습니다 :

MySQL - Adding Users - 와일드 카드를 언급하는 부분을 찾으십시오.

+0

안녕하세요. 안토니, 너무 빨리 다시 작성해 주셔서 감사합니다. 내가 '루트'에있어, 내 'phpMyAdmin-'을 통해 다른 '루트'사용자를 추가했다. 호스트, 동일한 비밀번호 및 모든 권한으로 나의 ip를 가지고있다. 나는 'FLUSHED PRIVILEGES'를 실행했다. localhost에서 열면 로그인 할 수 있지만 내 IP 주소는 허용하지 않습니다. 내 데이터베이스 호스트 이름이 'localhost : 3306'으로 설정되어 있습니다. – Silvia

+0

원격 사용자가 원격 IP에서 db에 액세스하도록 허용해야합니다.난 당신이 그것을 와일드 카드 수 있다고 생각하지만, 테스트로,이 새로운 루트 계정을 설정해보십시오 호스트 = 'your.remote.ip' – Anthony

관련 문제