Tìm hiểu cấu trúc database WordPress và cách tối ưu [NEW]

Dù bạn là người dùng WordPress thông thường hay lập trình viên WordPress thì việc hiểu cấu trúc cơ sở dữ liệu và các thao tác cơ bản sẽ giúp bạn ít nhiều trong thời gian sử dụng, chẳng hạn như bạn có thể hiểu được dữ liệu. Nó được lưu ở đâu, thay đổi theme ở đâu, sẽ lưu ở đâu các tùy chọn để linh hoạt hơn trong việc kiểm soát kho dữ liệu đồ sộ này.

Hoặc hơn thế, vào một ngày đẹp trời có một theme bị lỗi khiến bạn không thể truy cập vào Dashboard để đổi sang theme khác, việc duy nhất bạn có thể làm là vào cơ sở dữ liệu để khắc phục.

Định cấu hình cơ sở dữ liệu trong tệp wp-config.php

Trước khi đào sâu vào cơ sở dữ liệu, chúng ta cần biết mã nguồn WordPress kết nối với cơ sở dữ liệu ở đâu và các thông số cấu hình liên quan. Và tôi chắc rằng mọi người đều biết rằng cấu hình cơ sở dữ liệu sẽ nằm trong tệp wp-config.php trên trang web, tệp đó có rất nhiều nội dung nhưng đây là 4 dòng cấu hình cơ sở dữ liệu:


// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘tên của database’);

/** MySQL database username */
define(‘DB_USER’, ‘tài khoản quản trị database’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘mật khẩu quản trị database’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

/** Database Charset to use in creating database tables. */
define(‘DB_CHARSET’, ‘utf8’);

/** The Database Collate type. Don’t change this if in doubt. */
define(‘DB_COLLATE’, ”);

Trong phần cài đặt WordPress mình không đề cập đến bước chỉnh sửa file wp-config.php vì chỉ cần chạy website nó sẽ yêu cầu bạn nhập thông tin cơ sở dữ liệu, tránh trường hợp bạn mở và chỉnh sửa sai dẫn đến lỗi. bị lỗi.

Nhưng khi bạn chuyển trang web của mình sang một host khác hoặc làm một việc gì đó liên quan đến thay đổi cơ sở dữ liệu thì bạn nhất định phải hiểu 6 dòng trên. Và liên quan đến bảo mật, bạn cần hiểu thêm dòng này:

/**
* WordPress Database Table prefix.
*
* You can have multiple installations in one database if you give each a unique
* prefix. Only numbers, letters, and underscores please!
*/
$table_prefix = ‘wp_’;

Theo mặc định, WordPress sẽ định cấu hình tiền tố cơ sở dữ liệu là wp_ nhưng bạn nên đổi thành tên khác để hạn chế bị tấn công cục bộ, plugin iThemes Security có hỗ trợ chức năng này. Hoặc bạn nên nhập một tiền tố khác khi cài đặt một trang web WordPress mới và tiền tố đó phải có dấu _ ở cuối để phân tách tên bảng cơ sở dữ liệu.

Cấu trúc của cơ sở dữ liệu mặc định

Để xem cấu trúc của các bảng và cột dữ liệu, bạn cần truy cập PhpMyAdmin có sẵn trong tất cả các gói lưu trữ bạn mua. Bạn có thể thấy rằng mặc định WordPress có tổng cộng 11 bảng.

Tìm hiểu cấu trúc database WordPress và cách tối ưu [NEW]

Ý nghĩa của các bảng như sau:

wp_commentmeta: Điều này sẽ chứa dữ liệu macro của các nhận xét có sẵn trên trang web nếu bạn sử dụng meta nhận xét tùy chỉnh. Ví dụ: nếu bạn sử dụng plugin CommentLuv, bảng này sẽ chứa địa chỉ trang web từ Nguồn cấp dữ liệu RSS của người bình luận. Nếu bạn sử dụng Akismet, cột này sẽ to ra sau một thời gian dài.

  • wp_comments: Cột này sẽ chứa các dữ liệu cần thiết về bình luận như tên, nội dung, ngày tháng, địa chỉ trang web, v.v. của người bình luận.
  • wp_links: Kể từ phiên bản WordPress 3.7, họ đã tắt chức năng Blogroll thường được sử dụng để thêm các liên kết yêu thích của bạn. Và dữ liệu từ danh sách blog đó sẽ được lưu ở đây, nhưng giờ gần như không sử dụng.
  • wp_options: Bảng này khá quan trọng vì nó lưu trữ hầu hết dữ liệu liên quan đến thiết lập của bạn trong trang web. Chẳng hạn như tên trang web, địa chỉ trang web, plugin đang sử dụng, chủ đề đang sử dụng, dữ liệu khi kích hoạt chủ đề và plugin,… Vì vậy, nếu bạn muốn chỉnh sửa plugin và chủ đề đang sử dụng thì chỉ cần vào bảng này.
  • wp_postmetas: Dữ liệu trong bảng này là dữ liệu macro liên quan đến việc thiết lập các loại bài đăng bạn đang sử dụng. Chẳng hạn như giá trị trường tùy chỉnh, v.v.
  • wp_posts: Nội dung chính của một loại bài đăng như tiêu đề, tác giả, nội dung,… sẽ được chứa trong bảng này. Áp dụng cho tất cả các loại bài đăng, bao gồm cả các loại bài đăng tùy chỉnh.
  • wp_term: Như bạn đã biết phân loại mặc định là Category và Tag. Ví dụ, trong danh mục, bạn tạo 5 mục khác nhau, 5 mục đó là kỳ hạn. Thời hạn sẽ được lưu trữ hoàn toàn trong bảng này.
  • wp_term_relationships: Bảng này chứa dữ liệu để một thuật ngữ có thể kết nối với một phép phân loại thông qua ID. Ví dụ: bạn vừa tạo một thuật ngữ có tên là “Giáo dục” nhưng nó sẽ không thể hiểu “Giáo dục” là một thẻ hoặc danh mục nếu không có bảng này.
  • wp_term_taxonomy: Đây là nơi chứa danh sách phân loại bạn có, bao gồm cả phân loại tùy chỉnh.
  • wp_usermeta: Mỗi thông tin thành viên sẽ có thêm các tùy chọn thông tin như họ tên, biệt hiệu và các trường tùy chỉnh của người dùng. Dữ liệu macro sẽ được lưu ở đây.
  • wp_users: Là nơi lưu trữ các thông tin quan trọng của thành viên như tên người dùng, mật khẩu, email, v.v.

Nhưng có thể bạn sẽ thấy nhiều bảng hơn vì có khá nhiều plugin sẽ tạo một bảng riêng cho nó để chứa dữ liệu liên quan đến nó.

wordpress-cơ sở dữ liệu-mối quan hệ

Mô hình kết nối giữa các bảng với nhau

Mỗi bảng sẽ có nhiều cột và hàng khác nhau, và mỗi cột và hàng đều có khóa và giá trị. Nó như thế này:

wp-cơ sở dữ liệu-bảng-duyệt

Nếu bạn cần chỉnh sửa giá trị, chỉ cần nhấp vào nút Chỉnh sửa và sau đó tiến hành chỉnh sửa nó.

Tối ưu hóa cơ sở dữ liệu

Cơ sở dữ liệu cũng tương tự như ổ cứng, do phải thường xuyên đọc – ghi – xóa dữ liệu liên tục nên sau một thời gian dài sẽ sinh ra tình trạng phân mảnh cơ sở dữ liệu khiến dữ liệu của bạn nặng hơn, truy xuất thông tin chậm hơn. thường.

Vì vậy, để chăm sóc “sức khỏe” của cơ sở dữ liệu, bạn nên sử dụng công cụ tối ưu hóa cơ sở dữ liệu để tối ưu hóa nó. Cách tối ưu là nhấp vào Rà soát tất cả để chọn tất cả các bảng.

wp-database-checkall

Sau đó ở phần Với đã chọn tiếp theo, bạn chọn Tối ưu hóa cơ sở dữ liệu.

wp-database-Optimidatabase

Hoặc bạn có thể sử dụng plugin WP Cleanup để dọn rác và tối ưu hóa cơ sở dữ liệu tốt hơn.

Sao lưu cơ sở dữ liệu với PhpMyAdmin

Trong một số trường hợp bạn không thể sử dụng plugin để sao lưu WordPress, bạn có một cách khác để thử đó là sao lưu thủ công bằng PhpMyAdmin.

Sau khi chọn cơ sở dữ liệu trong PhpMyAdmin, bạn chọn phần Export và nhấn Go để tải file backup của cơ sở dữ liệu về máy tính, file này có phần mở rộng là .sql.

wp-database-backup

Trong trường hợp cần khôi phục (restore) dữ liệu, bạn chỉ cần chuyển sang tab Import và tải lên tệp .sql.

Phần kết

Nếu bạn thấy bài viết này dễ hiểu thì cũng đơn giản thôi vì WordPress không khó hiểu chút nào. Nhớ rằng trước khi chạm vào cơ sở dữ liệu để sửa chữa các giá trị bên trong, hãy sao lưu để nếu có sự cố xảy ra sẽ có cách khôi phục lại.

3.5 / 5 – (2 phiếu bầu)