최근 진행하는 프로젝트의 실제 운영 DB 환경이 Master(r/w)아 Slave(r)로 구분되어 있다고 해서 기존 워드프레스 DB 설정으로는 대응을 할 수 없어 이 용도로 사용할 수 있는 hyperdb class를 적용해 보았습니다. 실제 DB 단 구성은 직접해 볼 수 없어 구성 완료된 DB 환경을 받아서 워드프레스에서 수행한 설정 내용을 정리하면 다음과 같습니다.
1. wp-config.php 수정
define(‘DB_HOST’, ‘localhost’);
이 설정에서 localhost를 실제 IP(또는 도메인)로 수정합니다.
참고로, hyperdb에서는 보안상 이유로 utf8mb4를 지원하지 않습니다.
2. db-config.php 설정 및 업로드
master(r/w)와 slave(r) 구성을 위한 설정은 보통 다음과 같습니다.
$wpdb->add_database(array(
‘host’ => ‘자신의 IP’, // port가 있는 경우 ‘10.10.10.10:1001’
‘user’ => DB_USER,
‘password’ => DB_PASSWORD,
‘name’ => DB_NAME,
));
$wpdb->add_database(array(
‘host’ => ‘자신의 IP’, // port가 있는 경우 ‘10.10.10.10:1002’
‘user’ => DB_USER,
‘password’ => DB_PASSWORD,
‘name’ => DB_NAME,
‘write’ => 0,
‘read’ => 1,
‘dataset’ => ‘global’,
‘timeout’ => 0.2,
));
업로드 위치는 wp-config.php와 같은 root 디렉토리입니다.
3. db.php 업로드
별도 수정 없이 wp-content 로 업로드 합니다.
설정은 여기까지입니다.
참고 문서는 How To Setup A MySql Replication Database For WordPress 입니다.