기술빙자사기

phpMyAdmin 에서 DB Designer 기능 이용하기

권성재 2009. 4. 3. 11:26
사용자 삽입 이미지
#####################################################
## 쓴이 : 카폐인(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  옛날버전(?)은 잘 안될겁니다.

## 원문 : http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=66810