#####################################################
## 쓴이 : 카폐인(nonots@hanmail.net)
## 쓴때 : 2009-04-02 나른한 오후
## 도움 : 바다웹호스팅 http://www.badaweb.co.kr
## 제목 : phpMyAdmin 에서 DB Designer 기능 사용하기
#####################################################

1. 개요

phpmyadmin 은 많이 쓰지만 거기 있는 고급 기능들은
대부분 거의 안써왔는데.. 얼마전 한 고객이 DB ERD 구조도
보내 달라고 해서 귀찮았던 적이 있다.
원격 DB 서버를 일반적인 ERD 툴로 접속하려면 포트, 아이피 열어주고
방화벽 열어주고.. 귀찮은데.. phpmyadmin 에서 웹모드로 DB Designer
를 구현해 놓아서 편리하다.
..
어제 하루종일 인터넷 검색해봐도 허탕이었는데..
등잔밑이 어두웠다..



2. 미리 할 일

1) phpmyadmin 최신버전 설치한다. 2.5 버전 이상에서 가능하다는데
이왕이면 http://phpmyadmin.net 에서 현재 최신버전 3.1.3 이상을 다운받아 압축풀고
설치한다.


2) scripts/create_tables.sql 파일로 db 와 테이블을 생성한다.
이부분이 중요하다. 고급기능을 위해 필요한 정보를 별도 테이블에 저장해야한다.
이 파일을 보면 phpmyadmin 라는 DB 를 만들고 테이블 여러개를 생성한다.

mysql -uroot -proot_pwd < scripts/create_tables.sql

명령어로 밀어 넣은뒤, 이 DB 에 접근할 사용자
예를 들어, pma 를 추가한후 phpmyadmin 에 접근 권한을 준다.

GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO 'pma'@localhost;


3) config.sample.inc.php 파일을 config.inc.php 로 복사한다.
일반적으로 설치하듯이 직관적으로 세팅한다.
이 파일 마지막 부분에 주석처리된 아래 부분 주석 풀어준다.

....
$cfg['Servers'][$i]['controluser'] = 'pma'; // phpmyadmin DB 에 grant 된 사용자
$cfg['Servers'][$i]['controlpass'] = 'kw1934';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // 사용할 DB, 변경가능할듯
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
....

만약 DB 에 root 권한이 없다면 phpmyadmin 이라는 DB 를 별도 생성을 못하니까,
자신의 DB 로 막바로 해도 될꺼다.
그리고 controluser, controlpass 부분도 db 사용자 와 같게 하면 될꺼 같다.
안해 봐서 모름.


4) 웹브라우저로 설치된 phpmyadmin 에 접속한후 왼쪽 메뉴에서 DB 명 하나를 클릭한 후
오른쪽 본문 상단에 보면 "Designer" 라는 메뉴가 보인다. 클릭하면 된다.
직관적으로 사용하면 된다.
결과를 PDF 파일로 저장도 된다는데 해보지는 않았음.



3. 마무리

오래전에 phpdbdesigner 라는 게 있었는데 더이상 개발이 안되어서 관심을 가지지 않았는데
알고보니 그 기능이 phpmyadmin 에 흡수되었더군요.
..
eyeOS 1.8.5 로 버전업하면서..
웹브라우저로 참 많은짓을 하는구나.. 하는 생각을..
..
나른한 오후.. 졸린다..
..
아참.. php, mysql 옛날버전(?)은 잘 안될겁니다.

+ Recent posts