개발 Q&A

제목 DB쪽(?) 질문이요~
글쓴이 유승민 작성시각 2013/06/13 14:35:18
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15953   RSS
 ci에서 외부 서버 db에 접속해서 로컬에서 테스트를 하려고 ci db설정부분에 ip넣어주고.. 다 했습니다.
pconnect도 false로 바꿨구..
찾아보니까 db설정에 외부에서 접속을 막아둬도 안된다고 하더라구요..

쉘에서 db접속이 되는거랑 db설정에서 막은거랑은 다른건가요?
 다음글 포럼소스 auth_code 질문이요^^;; (2)
 이전글 update 시 결과값 (2)

댓글

인스카 / 2013/06/13 14:53:33 / 추천 0
 CI가 설치된 서버와 DB가 설치된 서버가 같은데, 그 서버가 아닌 다른 곳에서 DB접속이 안 된다면, DBMS에서 설정을 해줘야 합니다.
변종원(웅파) / 2013/06/13 15:15:02 / 추천 0
mysql의 경우 mysql database user, db에 보면 host 라는 필드가 있습니다.

거기에 localhost라고 되어 있으면 로컬에서만 접속이 되는겁니다.

아이피를 적으면 그 아이피에서만 접근이 되고 %를 주면 모든 아이피에서 접근이 가능합니다.

웹호스팅은 localhost로만 되어 있어서 외부 접근이 안됩니다.
(호스팅사에서 제공하는 phpmyadmin 같은 웹툴을 사용하거나요)
/ 2013/06/13 20:52:46 / 추천 0
 db의 원격 접속을 위해서는 확인해주셔야 하는게 많습니다.

1. db의 포트 번호 
포트번호가 바뀔수도 있고
경우에 따라서는 포트를 제거 하고 시작할 수도 있습니다. (localhost를 이용한 socket 접속만 허용)

2. 접속하는 id의 원격 접속 권한
db에서 각 아이디 별로 외부에서 접속 가능한 ip or 도메인 등 접속 환경별로 권한을 제어 할 수 있습니다.

3. 방화벽 차단
아무리 디비에서 설정이 다 되어있어도 방화벽에서 원격접속을 차단 할 수 있습니다.



지금 당장 생각나는 것만 해도 3가지는 되고 그외 서버 환경 설정이나 기타 요인에 따라 바뀔수 있습니다.

(selinux 관련 설정 등)


일단 해당 db서버에서 php 동작 확인이 가능하다면

localhost가 아닌 ip로 접속을 해보세요

해당 서버에서 ip로 접속이 잘 된다면 방화벽에서 차단되서 외부에서 접근이 안될 가능성이 있고

접속이 안된다면 db에서 ip로 접속가능한 권한을 차단해서 그럴 것 같네요