요즘은 많은 웹호스팅사들이 워드프레스 데이터베이스 생성 과정을 포함한 워드프레스 전용 설치 옵션을 제공합니다. 하지만, 워드프레스 파일 설치를 수동으로 해줘야 할 경우가 생기면 데이터베이스 또한 수동으로 생성해야 하기 때문에, 그 과정을 한 번 정리해보았습니다.
워드프레스 파일 수동 설치는 워드프레스 시작하기를 참고하세요.
워드프레스 데이터베이스란?
워드프레스는 파일 부분과 데이터베이스 부분으로 나뉩니다. 간단히 말하면, 정적인 정보들은 워드프레스 파일이 담당하고, 입력/수정/삭제를 통해 관리되어야 하는 동적인 정보들은 데이터베이스가 담당합니다. 즉, 워드프레스의 기본적인 구조와 기능을 담당하는 정보들은 워드프레스 파일로 설치가 되고, 사용자의 글과 댓글, 워드프레스 설정, 테마 설정, 플러그인 설정 등이 데이터베이스에서 관리가 되는 것입니다. 워드프레스 웹사이트는 단순히 어떤 정적인 정보들을 보여주기 위한 것이 아니라, 사용자가 작성하는 컨텐츠를 효과적으로 관리하고 보여주기 위한 CMS (Content Managementn System)이므로 데이터베이스는 없으면 워드프레스 웹사이트의 운영 자체가 불가능해지는 필수 요소라 할 수 있습니다.
일반적으로 데이터베이스라고 하면 데이터베이스 관리 시스템 DBMS를 뜻하는 것으로, Oracle, DB2, SQL Server, PostgreSQL, MySQL 등 다양한 종류의 데이터베이스 관리 시스템들이 있지만, 워드프레스에서는 플랫폼 독립성이 높고 용도와 기능이 다양한 오픈 소스 관계형 데이터베이스 관리 시스템인 MySQL이 주로 사용되고 있습니다.
워드프레스 데이터베이스 생성하기
제가 사용하는 웹호스팅사 중 한 곳인 블루호스트(https://www.bluehost.com/)의 cPanel에서 데이터베이스 생성 작업을 해보겠습니다. 대부분의 공유호스팅 업체들은 유사한 cPanel 구성을 갖고 있으므로 참고하시면 됩니다.

최근 블루호스트의 인터페이스가 리뉴얼되면서 cPanel을 찾기가 좀 어려워진 감이 있네요. 좌측 메뉴에서 ‘Hosting’을 선택하고 페이지 스크롤을 내리면 최하단 우측 Quick Links에 cPanel 버튼이 보입니다.

워드프레스용 데이터베이스는 주로 MySQL을 사용합니다. MySQL의 데이터베이스 및 데이터베이스 사용자 생성, 관리 및 삭제 작업은 MySQL® Databases 인터페이스를 통해서 이루어집니다. MySQL® Databases 링크를 클릭하여 이동합니다.

Create New Database에 블루호스트에서 지정한 데이터베이스 접두사 뒤에 원하는 데이터베이스 이름을 입력하고 ‘Create Database’ 버튼을 누르면 워드프레스 테이터베이스가 생성됩니다.

‘접두사_입력한 데이터베이스 이름’이 테이터베이스 이름이 됩니다.
워드프레스 데이터베이스 사용자 생성하기
데이터베이스를 생성한 후에는 해당 데이터베이스에 접속할 MySQL 사용자를 생성해야 합니다.

[MySQL Users] – [Add New User]의 Username 섹션에서 블루호스트에서 지정한 사용자 이름 접두사가 뒤에 원하는 사용자 이름을 입력하고 Password 섹션에 비밀번호를 설정해준 후 ‘Create User’ 버튼을 누르면 테이터베이스 사용자가 생성됩니다. 혼선을 피하기 위해 데이터베이스 이름과 동일한 이름으로 사용자를 생성해도 무방합니다. 보안을 위해 복잡한 비밀번호를 설정하고자 할 때는 ‘Password Generator’를 눌러 랜덤으로 제안받아 설정하는 것도 좋습니다.

단, 생성된 비밀번호는 반드시 메모를 해두어야 워드프레스 환경 설정 파일 wp_config.php에서 데이터베이스 정보를 입력할 때 당황하는 경우를 방지할 수 있습니다.

사용자가 성공적으로 생성되었습니다.
워드프레스 데이터베이스 사용자를 데이터베이스에 연결하기
사용자를 생성하고 나면, 이제 사용자에게 해당 데이터베이스의 사용 권한을 부여해줘야 합니다.

[Add User To Database]의 User 섹션에서 사용자 이름을 선택하고 Database 섹션에서 해당 사용자를 연결할 데이터베이스 이름을 선택한 후 ‘Add’ 버튼을 누릅니다.

사용자에게 해당 데이터베이스에 관하여 어떠한 권한을 부여할지 선택하는 단계입니다. 필요한 권한이 부족할 경우 데이터베이스 권한 오류가 발생할 수 있으므로, 대표 사용자에게는 전체 권한을 주는 것이 좋습니다. ALL PRIVILEGES 옵션을 체크하면 자동으로 모든 권한이 선택됩니다. ‘Make Changes’ 버튼을 눌러 변경사항을 적용하면 사용자 연결이 완료됩니다.
워드프레스 데이터베이스 이름 변경 및 삭제하기

데이터베이스들 중 특정 데이터베이스의 이름을 변경하거나 데이터베이스를 삭제하기 위해서는, Current Databases 섹션에서 해당 데이터베이스를 검색하여 이름을 변경하거나(Rename) 데이터베이스를 삭제(Delete)하면 됩니다.
워드프레스 데이터베이스 사용자 이름/비밀번호 변경 및 삭제하기

데이터베이스 사용자들 중 특정 사용자의 비밀번호/이름을 변경하거나 사용자를 삭제하기 위해서는, Current Users 섹션에서 해당 사용자를 찾아 비밀번호(Change Password) 혹은 이름(Rename)을 변경하거나 사용자를 삭제(Delete)하면 됩니다.
워드프레스 데이터베이스 내 데이터에 접근하기
MySQL 데이터베이스의 데이터를 처리하기 위해서는 SQL(구조적 쿼리 언어 Structured Query Language)이라는 언어가 필요합니다. 워드프레스는 PHP 언어로 만들어져 있는데, 이 PHP 마크업 내에서 SQL을 이용해 MySQL 데이터베이스와 통신하며 데이터를 검색하고 저장하도록 프로그래밍되어 있습니다.

사용자가 직접 데이터베이스에 접근하여 데이터를 다루고자 할 때도, 위와 같이 콘솔 환경(명령어 프롬프트 Command Prompt)에서 데이터베이스에 접속한 후 직접 SQL 명령을 이용해 데이터를 검색하거나 변경/삭제할 수 있지만, 개발자나 데이터베이스 전문가가 아닌 일반 사용자들에게는 이 작업이 쉽지 않을 수 있습니다. 이러한 일반 사용자들을 위해 MySQL을 사용하는 웹호스팅사는 cPanel에서 phpMyAdmin라는 소프트웨어를 제공하고 있습니다.

phpMyAdmin은 SQL에 대한 지식이 없는 상태에서도 비쥬얼하게 데이터베이스와 테이블, 데이터에 접근하여 데이터 추가, 변경, 삭제 등의 작업을 할 수 있도록 해주는 무료 오픈 소스 도구입니다.

SQL를 전혀 사용하지 않고도 버튼 클릭을 통해 테이블 및 데이터 검색, 변경, 삭제 등이 가능합니다. 하지만, 데이터를 변경하거나 삭제하는 경우 되돌리기 어렵기 때문에, 테이블 구조 확인이라든지 데이터 검색의 용도 정도로만 사용하는 것이 좋습니다.
