Trong một vài trường hợp, đặc biệt là khi bạn tạo một phiên bản thử nghiệm cho website của mình ở một domain khác thì sẽ có nhu cầu đồng bộ dữ liệu trong database giữa hai website với nhau nhanh chóng. Ví dụ như website A bạn vừa thay đổi một số tùy chọn trong website mà bạn cũng muốn website B được đổi theo thì có thể ứng dụng kỹ thuật đồng bộ dữ liệu này. Ngoài ra kỹ thuật này cũng được ứng dụng nhiều trong các việc khác như chuyển đổi dữ liệu giữa hai website.
Trong WordPress, bạn có thể làm được việc này rất tốt và chuyên nghiệp với plugin WP DB Sync hoàn toàn miễn phí. Cũng nên nói thêm rằng, plugin này là bản custom lại của một plugin tương tự WP Migrate DB nhưng nó có hỗ trợ các chức năng mà vốn chỉ có trong Migrate DB Pro (trả phí).
Nên xem: Cấu trúc database của WordPress.
Chức năng của WP DB Sync
- Đồng bộ hóa toàn bộ cơ sở dữ liệu.
- Có thể tùy chỉnh đồng bộ một table bất kỳ.
- Hỗ trợ hai kiểu đồng bộ là Pull (gửi dữ liệu đi) và Push (lấy dữ liệu về).
- Nếu đồng bộ table
wp_posts
thì sẽ có thêm chức năng đồng bộ luôn các file ảnh với WP Sync Media File. - Dễ sử dụng.
- Hỗ trợ SSL nếu có.
- Tự đổi địa chỉ của website khi mang database qua website đích.
- Tùy chọn post type được phép đồng bộ.
Cách sử dụng
Trước khi sử dụng, bạn cần lưu ý một điều là bạn nên sử dụng giữa hai website trên cùng một môi trường. Ví dụ như bạn có thể sử dụng giữa hai website trên host hoặc hai website trên localhost, còn nếu bạn có một website ở localhost và một website trên host thì website trên host sẽ không thể sử dụng phương thức Push cho localhost vì nó không kết nối được.
Pull
Pull nghĩa là bạn lấy một website để kéo dữ liệu của một website nào đó về. Trước tiên, bạn cần chắc chắn hai website đã cài plugin WP DB Sync.
Bây giờ mình định nghĩa như sau:
- Website A: Website cần gửi dữ liệu đi.
- Website B: Website sẽ nhận dữ liệu.
Sau đó mình vào website B -> Tools -> Migrate DB -> Settings và đánh dấu vào “accept pull request...” và copy cái Connection Info.
Sau đó vào website A -> Tools -> Migrate DB -> chọn Pull và copy cái connection info của website B vào.
Sau đó bạn có thể tùy chỉnh việc tự tìm kiếm một chuỗi dữ liệu nào đó và thay thế bằng chức năng Find Replace.
Hoặc bạn có thể tùy chỉnh bảng dữ liệu cần lấy về ở mục Table.
Cuối cùng là ấn Migrate DB để bắt đầu kéo dữ liệu về.
Push
Nếu Pull là phương thức lấy database về từ một website khác thì Push nghĩa là gửi database từ website hiện tại lên website khác.
- Website A: Cần gửi dữ liệu đi.
- Website B: Cần lấy dữ liệu về.
Cách sử dụng cũng y hệt như mình đã hướng dẫn ở trên, chỉ khác là bạn vào website B -> Tools -> Migrate DB -> Settings và đánh dấu “Accept push request….” và copy Connection Info. Sau đó vào website A -> Tools -> Migrate DB -> Push và dán cái Connection Info của website B vào.
Lời kết
Plugin này là câu trả lời cho rất nhiều câu hỏi về việc đồng bộ hóa cơ sở dữ liệu trong WordPress mà mình đã thấy rất nhiều bạn thắc mắc. Bạn có thể ứng dụng nó trong việc chuyển dữ liệu giữa các website với nhau hoặc phục vụ trong việc khác nâng cao hơn như Deployment chẳng hạn.