[서버관리] phpMyAdmin을 통한 DB 및 사용자추가

사용환경

  • 운영체제 : CentOS 5.5 Final
  • 커널버전 : Linux 2.6.18-194.26.1.el5 i686 GNU/Linux
  • 아파치버전 : httpd-2.2.3-43.el5
  • PHP버전 : php-5.1.6-27.el5
  • phpMyAdmin버전 : phpMyAdmin-2.11.10

느리지만 차근차근하게 서버구축 작업을 진행하고 있습니다. 혹시 개인서버를 운영하고 싶으신 분들을 위해서 각종 어플리케이션 설치작업을 진행하고, 해당 작업의 내용을 위키에 문서화해둘 생각입니다.

01. phpMyAdmin이란?

phpMyAdmin이란 오픈소스프로젝트로 개발되고 있는 MySQL관리툴입니다. 웹 상에서 동작하고 php로 구현되어 있어서 이름이 phpMyAdmin인 것입니다.

ssh를 이용해서 원격으로 접속한 다음에 명령어로 DB를 관리하는 방법도 있지만, 어차피 인터넷이 가능한 상황이라면 phpMyAdmin을 이용해서 접속한 후에 GUI화면으로 관리를 하는 방법이 더 편리할 것 같아서 공부를 하면서 정리하여 포스팅을 합니다.

02. phpMyAdmin 접속

phpMyAdmin이 설치된 디렉토리로 이동합니다. phpMyAdmin은 간단하게 웹 디렉토리 내에서 압축을 해제하고 간단하게 설정파일만 바꿔주면 사용이 가능합니다. 설치된 위치로 웹브라우저에서 접근을 합니다.

저의 경우에는 서버의 최상단경로의 phpMyAdmin 디렉토리에 설치를 했습니다. 그래서 접속이 가능한 위치는 아래와 같습니다.

http://서버주소/phpMyAdmin/

위와 같은 방식으로 접속을 하게되면, mysql 내에 있는 mysql관리테이블에 사용자계정의 정보를 요구합니다. 저의 경우에는 DB와 사용자를 추가하기 위해서 root로 접속을 하겠습니다.

참고) mysql의 root와 리눅스 시스템의 root와는 다르니 착각하지 않도록 합니다.

mysql의 root계정으로 로그인을 합니다.

자! 이제 mysql의 root로 접속이 완료된 상태입니다.

03. DB 생성

이제 DB를 생성하겠습니다. 저의 경우에는 MediaWiki를 테스트 삼아서 설치해보기 위해서 DB를 생성하려는 것입니다.

참고) 보통 웹호스팅 업체에서는 사용자별로 mysql계정과 db를 제공하고 있습니다. 저의 경우에는 저 혼자서 사용하는 것을 목적으로 구축된 서버이므로 어플리케이션별로 db와 사용자를 추가하려고 합니다. 계정명은 어플리케이션이름(위의 경우에는 mediawiki), DB명은 db_ 접두어를 붙여서 구분(위의 경우에는 db_mediawiki)해주려고 합니다.

이제 정상적으로 db_mediawiki DB가 추가되었습니다.

04. 사용자 생성

이제는 사용자를 생성하겠습니다.

참고) 이 부분은 하지 않아도 관계가 없지만 보안을 위해서 각 어플리케이션별로 사용자를 추가하도록 하겠습니다. 만약에 해당 웹 어플리케이션의 취약점으로 mysql 비밀번호가 누출된다고 하더라도 누출된 비밀번호는 mysql의 root가 아니기에 피해를 최소화할 수 있을 것이라고 판단하여 어플리케이션별로 사용자를 추가하는 작업을 수행한 것입니다. 대부분의 웹호스팅 업체는 주로 사용자 한 명당 하나의 mysql 아이디를 할당해주고, DB도 하나를 할당해주게 됩니다. 하지만 개인서버는 제가 주인이기에 마음대로 설정할 수 있다는 장점이 있습니다.

좌측의 mysql DB를 선택합니다. 이 DB는 MySQL을 관리하기 위한 기본적인 DB입니다.

하단의 user 테이블을 선택합니다.

상단에서 삽입을 선택합니다.

Hostlocalhost를 입력하고, User에는 추가할 사용자의 mysql id를 입력(mediawiki)합니다. 그리고 Password에는 함수를 PASSWORD로 변경해주고 설정할 비밀번호를 입력합니다.

그리고 스크롤을 쭉 내려서 중간에 있는 실행버튼을 눌러서 작성한 내용이 반영되도록 합니다.

05. 사용자 권한할당

이제는 추가한 사용자가 관리할 테이블을 정해줄 차례입니다.

좌측의 네비게이션에서 db테이블을 선택합니다.

마찬가지로 상단의 삽입을 선택합니다.

Host에는 localhost를 입력하고, Db에는 아까 전에 추가한 db의 이름을 입력(db_mediawiki)합니다. 그리고 User에는 해당 DB를 관리할 사용자 즉, 바로 위에서 추가한 사용자의 id를 입력하고, 각 권한들(라디오 버튼)을 N(No)에서 Y(YES)로 전부 변경해줍니다. 그리고 실행을 눌러줍니다.

그리고 위에 나와있는 것들 말고 위에 있는 화면 하단의 Ignore 항목들은 특별한 이유가 없으면 수정하지 않는 것이 좋습니다.

정상적으로 DB 추가, 사용자 추가, 사용자 권한할당이 완료되었습니다.

06. 적용 및 테스트

이제는 변경된 내용을 적용하고, 테스트를 진행해보도록 하겠습니다.

상단의 phpMyAdmin을 클릭해서 메인화면으로 이동합니다.

이제 Reload privileges를 눌러서 변경된 권한을 다시 읽어들여서 적용합니다.

권한을 다시 로딩하였습니다.

다시 상단의 phpMyAdmin 로고를 클릭해서 메인페이지로 이동한 후에 logout을 합니다.

이제 추가한 사용자로 로그인을 수행합니다.

위의 그림처럼 db_mediawiki가 보이신다면 정상적으로 적용된 것입니다.

07. 포스팅을 마무리하며…

원래는 이 문서를 위키에 작성하려고 했었으나… 생각해보니 문서에는 틀만 만들어두고 이 문서를 링크해두면 괜찮을 것 같군요.. 그리고 phpMyAdmin을 설치하는 과정에 대한 문서는 추후에 작성해서 올리도록 하겠습니다.

앞으로도 서버관리를 하면서 만들어지는 문서들은 최종적으로 http://wiki.simplism.kr/에 통합되어 관리되어지고 최신화되어질 것입니다.

해당 문서의 초안작업이 완료되면 이 곳에 포스팅하여 알리도록 하겠습니다.

08. 참고문서

  1. 김태용, CentOS 리눅스 구축관리실무, SU리눅스포털, 2007
  2. http://digitalangelmaster.wordpress.com/2008/01/28/활용팁-phpmyadmin-설치사용자-추가방법/