Tăng sức manh tối ưu hóa wordpress cấu hình plugin HyperDB nhân rộng mysql

Bạn có một trang chạy wordpress và có một lượng lớn người dùng truy cập vì vậy database của bạn sẽ phải làm việc quá tải với mức online khủng
Bài này mình sẽ hướng dẫn các bạn tăng sức mạnh cho mysql bằng cách sử dụng mysql replication nhân rộng nhiều mysql server để tối ưu hiệu suất , tăng sức mạnh đáng kể cho wordpess + với plugin HyperDB để thiết lập #mysql master và mysql slave , một database chỉ đọc và một database chỉ viết hoặc tự thiết lập theo ý

Cài đặt bạn cần có ít nhất VPS để cấu hình .
Trong bài viết này mình sẽ dùng 2 VPS ram 512 của digitalocean để làm hướng dẫn .

– VPS 1 có IP private là 192.168.0.1
– VPS 2 có IP private là 192.168.0.2

Cài đặt mysql trên VPS 1
Mã:

yum install mysql-server

Khởi động mysql và thiết lập bảo mật và mật khẩu
Mã:

/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Cấu hình my.cnf
Mã:

nano /etc/my.cnf

Thêm vào phần [mysqld]
Mã:

bind-address = 192.168.0.1
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log

Nếu bạn chỉ muốn nhân rộng nguyên cái database của wordpress thì thêm dòng này
Mã:

binlog_do_db = wordpress

Lưu lại và resstart mysql
Mã:

service mysqld restart

Cài đăt mysql trên VPS 2.
Mã:

yum install mysql-server

Khởi động mysql và thiết lập bảo mật và mật khẩu
Mã:

/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Cấu hình my.cnf
Mã:

nano /etc/my.cnf

Thêm vào phần [mysqld]
Mã:

bind-address = 192.168.0.2
server-id = 2

Lưu lại và resstart mysql
Mã:

service mysqld restart

Đăng nhập mysql trên VPS 1 .
Mã:

mysql -u root -p

Tạo ra một user “wordpress” để nhân rộng
Mã:

CREATE USER ''wordpress@'%' IDENTIFIED BY 'vps1password-mysql';
GRANT REPLICATION SLAVE ON *.* TO 'wordpress'@'%';

Mã:

FLUSH PRIVILEGES;

Gõ tiếp
Mã:

SHOW MASTER STATUS;

Sẽ thấy hiện như bên dưới .
Mã:

Output:
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      101 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

Ghi lại dòng mysql-bin.000001 và 101

Đăng nhập mysql tên VPS 2
Mã:

mysql -u root -p

Gõ lần lượt các dòng
CHANGE MASTER TO
MASTER_HOST=’192.168.0.1′,
MASTER_USER=’wordpress’,
MASTER_PASSWORD=’vps1password-mysql’,
MASTER_LOG_FILE=’mysql-bin.000001′,
MASTER_LOG_POS=101;

Thay các giá trị màu đỏ bằng thông số VPS 1 của bạn

Mã:

START SLAVE;

Check xem có lỗi gì không
Mã:

SHOW SLAVE STATUS\G

Nếu không thông báo lỗi gì là ok
Mã:

FLUSH PRIVILEGES;

Quay lại mysql trên VPS 1 và tạo một database .
Mã:

create database wordpress;

Cả trên 2 mysql đều được tạo .
Bây giờ bạn có thể restore mysql trên VPS 1 và VPS tự động được nhân rộng sang .

Cấu hình Master Slave cho wordpress với plugin HyperDB

Download http://downloads.wordpress.org/plugin/hyperdb.zip
giải nén và copy file db-config.php đến thư mục gốc của site wp .
Tìm chỗ .
Mã:

$wpdb->add_database(array(
        'host'     => DB_HOST,     // If port is other than 3306, use host:port.
        'user'     => DB_USER,
        'password' => DB_PASSWORD,
        'name'     => DB_NAME,
        'write'    => 0,
        'read'     => 1,
        'dataset'  => 'global',
        'timeout'  => 0.2,
));

Dòng ‘write’ => 0, ‘read’ => 1, có nghĩa là database chỉ đọc
Thay thế
‘host’ => DB_HOST, // If port is other than 3306, use host

ort.
Bằng
‘host’ =>DB_VPS_2, // If port is other than 3306, use host

ort.

Sửa file wp-config.php thêm đoạn này
define(‘DB_VPS_2’, ‘192.168.0.2’);

Cuối dùng là copy file db.php đến thư mục /wp-content/

Bây giờ thì bạn đã nhân rộng được mysql của bạn trên 2 VPS . nếu muốn làm nhiều hơn nữa bạn cũng có thể làm tương tự như bước VPS 2 .

Chúc các bạn thành công

You may also like...