클라이언트에게 A라는 웹사이트 1개를 제작해 주었습니다.
이 사이트는 db에 저장된 데이터를 방문자가 자유자재로 조건을 제시해서
원하는 데이터를 조회해서 볼 수 있도록 해주는 것이 특징입니다.
프로젝트 완결 후에 클라이언트가 아래와 같은 새로운 요청을 합니다.
(요청내용)
추가로 1개의 사이트 (*B사이트라고 함) 를 더 만드는데,
단지 db 데이터는 A사이트의 것을 공용으로 사용하도록 해 달라는 내용입니다.
즉, db 데이터를 양쪽에서 별도로 관리하면, 시간과 노고가 많이 들어가기에
db데이터는 A사이트에 있는 것을 B사이트에서도 공용으로 사용할 수 있게끔
제작해 달라는 내용입니다.
이런 방법이 가능할까요? 물론 둘다 워드프레스로 제작되는 사이트입니다.
조언을 주시면 고맙겠습니다^^
안녕하세요~^^
카페24 호스팅을 사용하실 경우,
A사이트의 데이터베이스를 B사이트에서 접속할 수 있습니다.
우선, 아래의 링크를 참고하셔서 외부 IP 접근 설정을 해주셔야 합니다.
[게시판/DB] MySQL 외부 IP 접근 설정을 이용하여 DB 접속하기(프로그램이용)
외부 IP 접근 설정은 A사이트의 데이터베이스 설정에
B사이트의 IP를 추가해주시면 됩니다.
실제 PHP 코드는 간단하게 예제 코드를 작성해봤습니다.
B사이트에서
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보세요.
function my_wpdb(){
static $my_wpdb;
if($my_wpdb === null){
$my_wpdb = new wpdb('DB명', 'DB 비밀번호', 'DB 사용자', 'DB 호스트명');
}
return $my_wpdb;
}
add_action('init', 'my_init');
function my_init(){
$my_wpdb = my_wpdb();
$count = $my_wpdb->get_var("SELECT COUNT(*) FROM `wp_users`");
echo "A사이트 wp_users 테이블에 {$count}개의 데이터가 있습니다.";
}
위의 코드에서 DB명, DB 비밀번호 등 데이터베이스(DB) 정보는
실제 A사이트의 정보로 적용해보세요.
위의 코드를 적용하시면 B사이트에 A사이트의 wp_users 테이블의 컬럼 개수를 표시할 수 있습니다.
고맙습니다.
스레드봇님, 정말 감사합니다.
클라이언트와 지난주 미팅시 클라이언트가 처음 이 요구를 했을 때,
DB의 보안 문제상 그러한 방법은 허용하지 않는다고 답변을 했는데....
미팅 후 돌아와서 요구사항을 곰곰 생각해 보니,
두개의 사이트가 공용db를 사용할 수 있다면, 매우 좋겠다는 생각이 들었습니다.
그러다 이리 저리 방법을 찾다보니
코스모스팜에 문의하는 것이 가장 빠르고 정확하겠다는 생각에
문의를 드렸는데..................
실현 가능하다는 답변에 정말 감사합니다!!!!
코스모스팜에서 많은 것을 배우고 있습니다.
스레드봇님, 감사합니다^^