Hướng dẫn connect wordpress to database - kết nối wordpress với cơ sở dữ liệu

Hướng dẫn connect wordpress to database - kết nối wordpress với cơ sở dữ liệu

Đã đăng vào thg 4 21, 2017 7:50 SA 6 phút đọc 6 phút đọc

Một vấn đề thường hay gặp phải trong lập trình và sử dụng WordPress là việc đồng bộ Database giữa 2 hoặc nhiều website với nhau. Thông thường trong quá trình khách hàng sử dụng đồng thời cũng muốn thêm các tính năng mới,... Cách làm phổ biến được sử dụng ở đây là Export database từ 1 website sau đó import vào database của website khác. Việc làm này mất khá nhiều thời gian, đặc biệt với những site có cơ sở dữ liệu lớn. Việc này thường phải làm lặp đi lặp lại nhiều lần mỗi khi chúng ta đồng bộ cơ sở dữ liệu. Trong bài viết này sẽ hướng dẫn các bạn sử dụng 1 plugin miễn phí để thực hiện việc này 1 cách nhanh chóng là WP DB Sync có thể tải project tại đây: https://github.com/wp-sync-db/wp-sync-db. Đây là plugin custom lại từ một plugin khác được trả phí đó là: WP Migrate DB Pro Tuy nhiên tính năng và hoạt động của nó là đủ để đáp ứng yêu cầu trong phát triển WordPress website.WP Migrate DB Pro Tuy nhiên tính năng và hoạt động của nó là đủ để đáp ứng yêu cầu trong phát triển WordPress website.

1. Một số các tính năng đặc biệt của WP DB Sync

  1. Chọn lọc đồng bộ (Selective Sync):
  • Có thể chọn các bảng dữ liệu đồng bộ đơn giản.
  1. Đồng bộ hóa 2 chiều
  • Pull: thay thế Local DB bằng Remote DB: Nếu bạn có test site hoặc develop site ở Local và cần dữ liệu mới nhất ở Production Server thì có thể cài plugin này ở 2 site và pull dữ liệu từ Production site về Local site.
  • Push: thay thế Remote BN bằng Local DB: Nếu bạn đang phát triển tính năng mới cho site và bạn cần cài đặt thử nghiệm trước khi gửi các cài đặt lên Production site. Sau khi hoàn thành các cài đặt thử nghiệm này trên Local site bạn có thể dễ dàng gửi các cài đặt này lên Production site bằng cách Push lên Production site để thay thế Database trên Production site bằng Database trên Local site.
  1. Database Export & Backup
  • Không chỉ có khả năng Pull và Push database, WP DB Sync còn có khả năng Export database thành SQL file để backup mà không cần SSH đến server hoặc quản lý thông qua PHPmyadmin
  1. Encrypted Transfers
  • Tất cả dữ liệu được gửi qua SSL để ngăn không cho dữ liệu của bạn được đọc trong khi đồng bộ. WP Sync DB cũng sử dụng mã hóa HMAC để ký và xác minh mọi yêu cầu. Điều này đảm bảo rằng tất cả các yêu cầu đến từ một máy chủ được ủy quyền và không bị giả mạo trên đường chuyển dữ liệu
  1. Tự động tìm và thay thế (Automatic Find & Replace)
  • Khi đồng bộ WordPress website đường dẫn trong các bài viết, widget, menu cần được thay thế bằng đường dẫn mới. Việc làm này thủ công sẽ rất nhàm chán, tuy nhiên WB Sync DB sẽ giúp chúng ta làm việc này tự động và nhanh chóng.
  1. Đã thử nghiệm với Database lớn
  • Plugin này đã được thử nghiệm với các website có database lên tới vài GB.
  1. Có thể đồng bộ cả File ảnh:
  • Sử dụng thêm addons: https://github.com/wp-sync-db/wp-sync-db-media-files để đồng bộ media file

2. Cài đặt

  1. Cài đặt Git Updater: https://github.com/afragen/github-updater
  2. Cài đặt WP DB Sync: https://github.com/wp-sync-db/wp-sync-db. Có thể sử dụng Git Updater để cập nhật bản WP DB Sync mới nhất (không cần tải lại file zip)
  3. Truy cập vào WP DB Sync menu dưới menu Tools
  4. Cài đặt WP DB Sync Media Files: https://github.com/wp-sync-db/wp-sync-db-media-files

3. Thử nghiệm

Giả định chúng ta đã có 2 website: 1 website là Production Website, 1 webiste là Develop website trên Localhost. Chú ý: trong quá trình Pull và Push bạn cần cài đặt trong Tab Settings để 2 chế độ này có thể hoạt động. Tab Settings để 2 chế độ này có thể hoạt động.

Hướng dẫn connect wordpress to database - kết nối wordpress với cơ sở dữ liệu

3.1. Pull Database từ Production Website về Develop website

3.2. Push Database từ Develop website lên Production Website

3.3. Đánh giá

  • Như vậy ở trên chúng ta đã tìm hiểu về WP DB Sync để đồng bộ database giữa các Website WordPress thành công. Có thể dựa trên hoạt động của plugin này để xây dựng 1 Work Flow để phát triển WordPress website theo nhóm để giúp cho quá trình làm việc hiệu quả hơn.

All rights reserved

Hướng dẫn connect wordpress to database - kết nối wordpress với cơ sở dữ liệu

WordPress hỗ trợ bạn kết nối với Database khác, khi bạn có nhu cầu cần lấy dữ liệu hoặc thêm dữ liệu, update – cập nhật, delete – xóa đến một database khác database hiện tại của website, bạn có thể theo dõi câu lệnh sql bênh dưới. Đây là giải pháp mà mình đã dùng để kết nối với nhiều database bất kỳ, không chỉ là website wordpress nhé.

wpdb object có thể giúp bạn truy cập bất kỳ đến database – cơ sở dữ liệu nào, hoặc không liên quan đến wordpress, rất là hay ho phải không? Nó có rất nhiều hàm để bạn sử dụng mà bạn không cần sáng tạo thêm, đây là các hàm đã được kiểm tra chuẩn, ví dụ như get_results… bạn có thể xem các hàm khác tại đây:

https://codex.wordpress.org/Class_Reference/wpdb

$mydb = new wpdb('username','password','database','localhost');
$rows = $mydb->get_results("select Name from my_table");
echo "<ul>";
foreach ($rows as $item) :
   echo "<li>".$item->Name."</li>";
endforeach;
echo "</ul>";
  • username: của database bạn muốn kết nối, nằm trong dấu ngoặc đơnvd: ‘ten_dang_nhap’ của database bạn muốn kết nối, nằm trong dấu ngoặc đơn
    vd: ‘ten_dang_nhap’
  • password: của database bạn muốn kết nối, nằm trong ngoặc đơn của database bạn muốn kết nối, nằm trong ngoặc đơn
  • database: tên của database bạn muốn kết nối, nằm trong ngoặc đơn tên của database bạn muốn kết nối, nằm trong ngoặc đơn
  • localhost: trường hợp database bạn muốn kết nối ở chung một host thì bạn đặt là ‘localhost’ hoặc domain name của bạn, nếu database này ở host hoặc server khác, bạn hãy điền tên domain. vd: ‘your-domain.com’, không chứ http:// nha bạn. trường hợp database bạn muốn kết nối ở chung một host thì bạn đặt là ‘localhost’ hoặc domain name của bạn, nếu database này ở host hoặc server khác, bạn hãy điền tên domain. vd: ‘your-domain.com’, không chứ http:// nha bạn.
  • $mydb = new wpdb là bạn đang tạo đối tượng (object) mới

Lưu ý:

Trường hợp bạn code trong functions.php của theme bạn lưu ý là phải thêm code sau trước khi gọi wpdb.

global $wpdb;

global $wpdb được khởi tạo toàn cục để phục vụ cho việc kết nối và chạy câu lệnh sql.

Xem thêm: Tổng hợp các hàm get dữ liệu của wpdb