Cơ sở dữ liệu làm gì trong wordpress?

Tại Delicious Brains, cơ sở dữ liệu về ăn, uống và ngủ của chúng tôi. Tuy nhiên, chúng tôi tin rằng bất kỳ nhà phát triển nào làm việc với WordPress đều phải có một số kiến ​​thức nhất định về cơ sở dữ liệu đằng sau một trang web. Vì vậy, tôi đã tổng hợp hướng dẫn cuối cùng về cơ sở dữ liệu WordPress

Bắt đầu nào

  • Cơ sở dữ liệu WordPress
    • Công cụ lưu trữ MySQL
    • Bộ ký tự và bộ sưu tập
  • Tham quan cơ sở dữ liệu WordPress
    • Những cái bàn
    • Tham quan cơ sở dữ liệu nhiều trang WordPress
    • Kết nối với cơ sở dữ liệu WordPress
  • Cơ sở dữ liệu WordPress và tối ưu hóa truy vấn
    • chỉ mục
  • Di chuyển cơ sở dữ liệu WordPress
  • Bảo mật cơ sở dữ liệu

Cơ sở dữ liệu WordPress

Cơ sở dữ liệu là một phần thiết yếu của trang web WordPress. WordPress sử dụng hệ quản trị cơ sở dữ liệu MySQL và yêu cầu phiên bản MySQL 5. 6 và cao hơn

Nó cũng hoạt động trên MariaDB phiên bản 10. 1 hoặc cao hơn. MariaDB là một rẽ nhánh được cấp phép GPL đầy đủ của MySQL, có thể được sử dụng như một sự thay thế thả xuống cho MySQL. Kinsta đã viết một bài nghiên cứu sâu về lịch sử của MariaDB và một số điểm khác biệt của nó với MySQL

Mẹo chuyên nghiệp. SpinupWP hỗ trợ MySQL 5. 7 (nhưng bị loại bỏ với Ubuntu 20), MySQL 8 cũng như phiên bản MariaDB mới nhất

Công cụ lưu trữ MySQL

Công cụ lưu trữ là một phần của cơ sở dữ liệu chịu trách nhiệm đọc và ghi dữ liệu. Kể từ MySQL 5. 5, công cụ lưu trữ mặc định là InnoDB. Nó là công cụ lưu trữ được sử dụng phổ biến nhất, vì nó có khóa cấp hàng thay vì khóa cấp bảng đầy đủ (cực kỳ quan trọng khi bạn thực hiện xuất/sao lưu mysqldump), có hỗ trợ giao dịch (cho phép bạn cam kết và khôi phục SQL

MyISAM là công cụ lưu trữ được WordPress sử dụng trước đây và bạn vẫn có thể có các trang web WordPress cũ hơn đang chạy trên đó. Một số trang web thậm chí có thể có sự kết hợp của các bảng sử dụng cả công cụ lưu trữ MyISAM và InnoDB

Mẹo chuyên nghiệp. Chuyển đổi MyISAM sang InnoDB bằng phpMyAdmin để cải thiện hiệu suất cơ sở dữ liệu

Bạn có thể đã gặp phải sự cố mã hóa ký tự khi di chuyển cơ sở dữ liệu WordPress của mình từ máy chủ này sang máy chủ khác và tự hỏi những bộ ký tự và đối chiếu được đề cập trên các bài viết hỗ trợ là gì. Vậy bộ ký tự và bộ đối chiếu là gì?

Bộ ký tự MySQL là một bộ ký tự được phép trong một chuỗi. Trong một bảng chữ cái có 26 ký tự – a đến z. Mỗi chữ cái được gán một số, ví dụ: a = 1, b = 2, c = 3, v.v. Chữ cái là ký hiệu và số liên quan là mã hóa

Sự kết hợp của tất cả các chữ cái từ a đến z và mã hóa số tương ứng của chúng là thứ tạo nên một bộ ký tự. MySQL hỗ trợ nhiều bộ ký tự cho phép bạn lưu trữ hầu hết mọi ký tự trong một chuỗi

Đối chiếu MySQL là một bộ quy tắc được sử dụng để so sánh các ký tự trong một bộ ký tự cụ thể. Để so sánh các chuỗi, cơ sở dữ liệu sử dụng các số mã hóa ký tự để thực hiện so sánh. Một ví dụ về quy tắc Đối chiếu, là đối chiếu không phân biệt chữ hoa chữ thường trong đó các chuỗi được so sánh ngay cả khi chúng ở dạng ký tự viết thường hoặc viết hoa. Các bộ sưu tập có thể trở nên khá phức tạp như tài liệu MySQL mô tả

hầu hết các đối chiếu có nhiều quy tắc, không chỉ để phân biệt chữ hoa, mà còn để phân biệt trọng âm ("dấu" là một dấu gắn liền với một ký tự như trong tiếng Đức Ö) và đối với ánh xạ nhiều ký tự (chẳng hạn như quy tắc

MySQL cho phép bạn chỉ định các bộ ký tự và đối chiếu ở bốn cấp độ. máy chủ, cơ sở dữ liệu, bảng và cột

Đối với các trang web WordPress, bộ ký tự được đề xuất là

define( 'WP_POST_REVISIONS', 10 );
8 và đối chiếu được đề xuất là
define( 'WP_POST_REVISIONS', 10 );
9. wordpress 4. 2 đã nâng cấp các bảng từ bộ ký tự
define( 'WP_POST_REVISIONS', 10 );
0 lên
define( 'WP_POST_REVISIONS', 10 );
8, cho phép lưu trữ các ký tự 4 byte, nghĩa là bất kỳ ký tự Unicode nào cũng có thể được lưu trữ trong cơ sở dữ liệu. Chính Peter Tasker của chúng tôi đã viết một hướng dẫn tuyệt vời dành cho các nhà phát triển về cách thức hoạt động của Unicode

Tham quan cơ sở dữ liệu WordPress

Trong phần sau, tất cả các bảng sẽ được tham chiếu bằng cách sử dụng tiền tố mặc định là ‘wp_’. Tuy nhiên, vì lý do bảo mật, bạn nên sử dụng tiền tố khác khi cài đặt các trang web WordPress của mình

Nếu bạn đang tìm kiếm một mô tả về cấu trúc của các bảng, với các kiểu dữ liệu cột và chỉ mục, thì hãy xem WordPress codex

Những cái bàn

  • wp_posts
  • wp_postmeta
  • wp_comments
  • wp_commentmeta
  • wp_terms
  • wp_termmeta
  • wp_term_taxonomy
  • wp_term_relationships
  • wp_users
  • wp_usermeta
  • wp_options
  • wp_links

wp_posts

Bảng bài viết được cho là bảng quan trọng nhất trong cơ sở dữ liệu WordPress. Tên của nó đôi khi khiến những người tin rằng nó hoàn toàn chứa các bài đăng trên blog của họ. Tuy nhiên, mặc dù được đặt tên xấu, nhưng nó là một bảng cực kỳ mạnh mẽ lưu trữ nhiều loại nội dung khác nhau bao gồm bài đăng, trang, mục menu, tệp đính kèm phương tiện và bất kỳ loại bài đăng tùy chỉnh nào mà một trang web sử dụng

Bản chất nội dung linh hoạt của bảng được cung cấp bởi cột 'post_type' biểu thị nếu hàng là một bài đăng, trang, tệp đính kèm, nav_menu_item hoặc loại khác. Nhưng sự linh hoạt này cũng gây khó khăn để thảo luận và mô tả. Về cơ bản, bảng chứa các hàng đối tượng nội dung với các loại khác nhau, nhưng để dễ đọc, tôi sẽ gọi các hàng là “bài đăng” trong suốt bài viết này

  • ID – số duy nhất được gán cho mỗi bài đăng
  • post_author – ID người dùng đã tạo ra nó. (Tham khảo bảng wp_users. )
  • post_date – thời gian và ngày tạo
  • post_date_gmt – Giờ GMT và ngày tạo. Ngày và giờ GMT được lưu trữ để không phụ thuộc vào múi giờ của trang web trong tương lai
  • post_content – ​​chứa tất cả nội dung cho bài đăng, bao gồm HTML, mã ngắn và nội dung khác
  • post_title – tiêu đề của bài viết
  • post_excerpt – phần giới thiệu tùy chỉnh hoặc phiên bản ngắn của nội dung
  • post_status – trạng thái của bài viết, e. g. 'bản nháp', 'đang chờ xử lý', 'riêng tư', 'xuất bản'. Cũng là một trang web tin tức WordPress tuyệt vời
  • comment_status – nếu bình luận được cho phép
  • ping_status – nếu bài đăng cho phép ping và trackback
  • post_password – mật khẩu tùy chọn được sử dụng để xem bài đăng
  • post_name – Sên thân thiện với URL của tiêu đề bài đăng
  • to_ping – danh sách các URL mà WordPress sẽ gửi pingback đến khi được cập nhật
  • ping – một danh sách các URL mà WordPress đã gửi pingback đến khi được cập nhật
  • post_modified – thời gian và ngày sửa đổi lần cuối
  • post_modified_gmt – Giờ GMT và ngày sửa đổi lần cuối
  • post_content_filtered – được các plugin sử dụng để lưu trữ phiên bản post_content thường được chuyển qua bộ lọc ‘the_content’. Không được sử dụng bởi chính lõi WordPress
  • post_parent – ​​được sử dụng để tạo mối quan hệ giữa bài đăng này với bài đăng khác khi bài đăng này là bản sửa đổi, tệp đính kèm hoặc loại khác
  • guid – Mã định danh duy nhất toàn cầu, URL vĩnh viễn của bài đăng, không phải phiên bản permalink
  • menu_order – giữ số hiển thị cho các trang và các loại không phải bài đăng khác
  • post_type – định danh loại nội dung
  • post_mime_type – chỉ được sử dụng cho tệp đính kèm, loại MIME của tệp đã tải lên
  • comment_count – tổng số bình luận, pingback và trackback

wp_postmeta

Bảng này chứa bất kỳ thông tin bổ sung nào về các bài đăng riêng lẻ. Đó là một bảng dọc sử dụng các cặp khóa/giá trị để lưu trữ dữ liệu của nó, một kỹ thuật mà WordPress sử dụng trên một số bảng trong cơ sở dữ liệu cho phép lõi, plugin và chủ đề của WordPress lưu trữ dữ liệu không giới hạn

  • meta_id – số duy nhất được gán cho mỗi hàng của bảng
  • post_id – ID của bài đăng mà dữ liệu liên quan đến. (Tham khảo bảng wp_posts. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_comments

Bất kỳ bài đăng nào cho phép thảo luận đều có thể có nhận xét được đăng trên đó. Bảng này lưu trữ những nhận xét đó và một số dữ liệu cụ thể về chúng. Thông tin thêm có thể được lưu trữ trong wp_commentmeta

  • comment_ID – số duy nhất được gán cho mỗi bình luận
  • comment_post_ID – ID của bài đăng mà bình luận này liên quan. (Tham khảo bảng wp_posts. )
  • comment_author – tên của tác giả bình luận
  • comment_author_email – Email của tác giả bình luận
  • comment_author_url – URL cho tác giả bình luận
  • comment_author_IP – Địa chỉ IP của tác giả bình luận
  • comment_date – ngày giờ bình luận được đăng
  • comment_date_gmt – Ngày giờ GMT bình luận được đăng
  • comment_content – ​​văn bản bình luận thực tế
  • comment_karma – không được sử dụng bởi lõi WordPress, có thể được sử dụng bởi các plugin để giúp quản lý nhận xét
  • comment_approved – nếu bình luận đã được phê duyệt
  • comment_agent – ​​nơi bình luận được đăng, ví dụ:. trình duyệt, hệ điều hành, v.v.
  • comment_type – loại bình luận. bình luận, pingback hoặc trackback
  • comment_parent – ​​đề cập đến một bình luận khác khi bình luận này là một câu trả lời
  • user_id – ID của tác giả nhận xét nếu họ là người dùng đã đăng ký trên trang web. (Tham khảo bảng wp_users. )

wp_commentmeta

Bảng này lưu trữ bất kỳ thông tin bổ sung nào liên quan đến nhận xét

  • meta_id – số duy nhất được gán cho mỗi hàng của bảng
  • comment_id – ID của bài đăng mà dữ liệu liên quan đến. (Tham khảo bảng wp_comments. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_terms

Các điều khoản là các mục của một phân loại được sử dụng để phân loại các đối tượng. Phân loại học cái gì? . Ví dụ: khi tạo một bài đăng trong WordPress, theo mặc định, bạn có thể thêm một danh mục và một số thẻ vào đó. Cả 'Danh mục' và 'Thẻ' đều là những ví dụ về phân loại, về cơ bản là một cách để nhóm các thứ lại với nhau

Để phân loại bài đăng này (meta của tôi như thế nào) tôi sẽ cho nó một danh mục 'Hướng dẫn' và các thẻ 'cơ sở dữ liệu' và 'mysql'. Danh mục và thẻ là các thuật ngữ sẽ được chứa trong bảng này

  • term_id – số duy nhất được gán cho mỗi thuật ngữ
  • tên – tên của thuật ngữ
  • sên – sên thân thiện với URL của tên
  • term_group – khả năng chủ đề hoặc plugin nhóm các thuật ngữ lại với nhau để sử dụng bí danh. Không được điền bởi chính lõi WordPress

wp_termmeta

wordpress 4. 4 đã giới thiệu một bảng mới để lưu trữ siêu dữ liệu về các thuật ngữ – wp_termmeta. Meta thuật ngữ có thể được truy cập tương tự như meta bài đăng với các chức năng của trình trợ giúp

define( 'WP_POST_REVISIONS', 10 );
2,
define( 'WP_POST_REVISIONS', 10 );
0,
define( 'WP_POST_REVISIONS', 10 );
1 và
define( 'WP_POST_REVISIONS', 10 );
2

Meta thuật ngữ cho phép nhà phát triển lưu trữ dữ liệu tùy chỉnh về các thuật ngữ theo cách tiêu chuẩn. Ví dụ: bạn có thể muốn đính kèm hình ảnh vào danh mục bài đăng sẽ được hiển thị trên trang lưu trữ danh mục

  • meta_id – số duy nhất được gán cho mỗi hàng của bảng
  • term_id – ID của thuật ngữ liên quan. (Tham khảo bảng wp_terms. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_term_taxonomy

Theo ví dụ wp_terms ở trên, các thuật ngữ 'Hướng dẫn', 'cơ sở dữ liệu' và 'mysql' được lưu trữ trong wp_terms chưa tồn tại dưới dạng 'Danh mục' và dưới dạng 'Thẻ' trừ khi chúng được cung cấp ngữ cảnh. Mỗi thuật ngữ được gán một nguyên tắc phân loại bằng bảng này

Cấu trúc của bảng này cho phép bạn sử dụng cùng một thuật ngữ trên các nguyên tắc phân loại khác nhau. Ví dụ: 'Cơ sở dữ liệu' có thể được sử dụng làm danh mục cho bài đăng và làm thuật ngữ phân loại tùy chỉnh cho loại bài đăng tùy chỉnh (hãy nghĩ đến portfolio_category cho các mục danh mục đầu tư). Thuật ngữ Cơ sở dữ liệu sẽ tồn tại một lần trong wp_terms, nhưng sẽ có hai hàng trong wp_term_taxonomy cho mỗi phân loại

  • term_taxonomy_id – số duy nhất được gán cho mỗi hàng của bảng
  • term_id – ID của thuật ngữ liên quan. (Tham khảo bảng wp_terms. )
  • taxonomy – con sên của taxonomy. Đây có thể là nguyên tắc phân loại tích hợp hoặc bất kỳ nguyên tắc phân loại nào được đăng ký bằng register_taxonomy()
  • description – mô tả thuật ngữ trong phân loại này
  • parent – ​​ID của thuật ngữ gốc. Được sử dụng cho các nguyên tắc phân loại phân cấp như Danh mục
  • đếm - số lượng đối tượng bài đăng được gán thuật ngữ cho phân loại này

wp_term_relationships

Cho đến nay, chúng tôi đã thấy cách các thuật ngữ và nguyên tắc phân loại của chúng được lưu trữ trong cơ sở dữ liệu, nhưng vẫn chưa thấy cách WordPress lưu trữ dữ liệu quan trọng khi sử dụng nguyên tắc phân loại. Bài đăng tồn tại trong wp_posts và khi chúng tôi thực sự chỉ định danh mục và thẻ thông qua bảng điều khiển WordPress thì đó là bảng nối ghi lại thông tin đó. Mỗi hàng xác định mối quan hệ giữa một bài đăng (đối tượng) trong wp_posts và một thuật ngữ của một phân loại nhất định trong wp_term_taxonomy

  • object_id – ID của đối tượng bài đăng. (Tham khảo bảng wp_posts. )
  • term_taxonomy_id – ID của thuật ngữ / cặp phân loại. (Tham khảo bảng wp_term_taxonomy. )
  • term_order – cho phép sắp xếp thứ tự các thuật ngữ cho một đối tượng, không được sử dụng đầy đủ

wp_users

Quản lý người dùng của WordPress là một trong những tính năng mạnh nhất của nó và là tính năng giúp nó trở thành một khung ứng dụng tuyệt vời. Cái bàn này là động lực đằng sau nó

  • ID – số duy nhất được gán cho mỗi người dùng
  • user_login – tên người dùng duy nhất cho người dùng
  • user_pass – hàm băm mật khẩu của người dùng
  • user_nicename – tên hiển thị cho người dùng
  • user_email – địa chỉ email của người dùng
  • user_url – URL của người dùng, e. g. địa chỉ trang web
  • user_registered – thời gian và ngày người dùng đã đăng ký
  • user_activation_key – được sử dụng để đặt lại mật khẩu
  • user_status – đã được sử dụng trong Multisite trước WordPress 3. 0 để chỉ ra người dùng spam
  • display_name – tên mong muốn được sử dụng công khai trên trang web, có thể là user_login, user_nicename, tên hoặc họ được xác định trong wp_usermeta

wp_usermeta

Bảng này lưu trữ bất kỳ thông tin nào khác liên quan đến người dùng. Bạn sẽ thấy các trường hồ sơ người dùng khác cho người dùng trong bảng điều khiển được lưu trữ tại đây

  • umeta_id – số duy nhất được gán cho mỗi hàng của bảng
  • user_id – ID của người dùng có liên quan. (Tham khảo bảng wp_users. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_options

Bảng tùy chọn là nơi lưu trữ tất cả cấu hình của trang web, bao gồm dữ liệu về chủ đề, plugin đang hoạt động, tiện ích con và dữ liệu được lưu trong bộ nhớ cache tạm thời. Đây thường là nơi các plugin và chủ đề khác lưu trữ cài đặt của chúng

Bảng này là một ví dụ khác về bảng cặp khóa/giá trị dọc để cho phép bảng lưu trữ tất cả các loại dữ liệu cho nhiều mục đích khác nhau

  • option_id – số duy nhất được gán cho mỗi hàng của bảng
  • option_name – khóa nhận dạng cho phần dữ liệu
  • option_value – phần dữ liệu thực tế. Dữ liệu thường được tuần tự hóa nên phải được xử lý cẩn thận
  • autoload – kiểm soát nếu tùy chọn được tự động tải bởi chức năng wp_load_alloptions() (đặt tùy chọn vào bộ đệm đối tượng trên mỗi lần tải trang)
Bạn có biết rằng khi thực hiện di chuyển cơ sở dữ liệu bằng WP Migrate DB Pro, bạn có thể yêu cầu plugin giữ nguyên các tùy chọn cụ thể trong cơ sở dữ liệu đích bằng bộ lọc ‘wpmdb_preserve_options’?

wp_links

Trong thời kỳ viết blog ngày càng phổ biến, việc có một danh sách blog (liên kết đến các trang khác) trên trang web của bạn đã trở nên rất thịnh hành. Bảng này chứa tất cả các liên kết đó cho bạn

Ngày nay, danh sách blog ngày càng được sử dụng ít hơn và kể từ WordPress 3. 5 việc quản lý các liên kết đã bị xóa khỏi giao diện người dùng quản trị. Bảng vẫn còn trong cơ sở dữ liệu để tương thích ngược và bạn có thể sử dụng giao diện người dùng quản lý liên kết cũ bằng cách sử dụng plugin này

  • link_id – số duy nhất được gán cho mỗi hàng của bảng
  • link_url – URL của liên kết
  • link_name – tên của liên kết
  • link_image – URL của một hình ảnh liên quan đến liên kết
  • link_target – khung mục tiêu cho liên kết. e. g. _trống, _trên cùng, _không có
  • link_description – mô tả của liên kết
  • link_visible – kiểm soát xem liên kết là công khai hay riêng tư
  • link_owner – ID của người dùng đã tạo liên kết. (Tham khảo bảng wp_users. )
  • link_rating – thêm xếp hạng từ 0-10 cho liên kết
  • link_updated – thời gian và ngày cập nhật liên kết
  • link_rel – mối quan hệ của liên kết
  • link_notes – ghi chú về liên kết
  • link_rss – Địa chỉ RSS cho liên kết

Ai đó đã tạo ra một sơ đồ mối quan hệ thực thể hữu ích để giải thích mối quan hệ giữa tất cả các bảng và đăng nó trên WordPress codex. Điều này đã được tạo ra ở phiên bản 3. 8 nhưng cấu trúc vẫn hiện tại

Cơ sở dữ liệu làm gì trong wordpress?
Nguồn. WordPress

Tham quan cơ sở dữ liệu nhiều trang WordPress

Khi một trang WordPress được chuyển đổi thành cài đặt Nhiều trang, một “mạng” gồm các trang con được tạo. Trang web hiện tại được chuyển đổi thành trang con đầu tiên trong mạng. Cơ sở dữ liệu tự phân loại mạng thành một trang web (wp_site) và mỗi trang con dưới dạng một blog (wp_blogs)

Một số bảng chỉ được sử dụng bởi một trang con và một bộ bảng mới được tạo mỗi khi một trang được thêm vào mạng. Mỗi bộ bảng được phân biệt bằng blog_id cho trang con được sử dụng trong tiền tố bảng. e. g.

define( 'WP_POST_REVISIONS', 10 );
3. Các bảng sau đây là trang con cụ thể

  • wp_commentmeta
  • wp_comments
  • wp_links
  • wp_options
  • wp_postmeta
  • wp_posts
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_terms

Các bảng wp_users và wp_usermeta trở thành toàn cầu trên các trang con trong mạng và trong quá trình cài đặt mạng, một vài cột bổ sung được thêm vào bảng wp_users

  • spam – đánh dấu là người dùng spam
  • đã xóa - đánh dấu là người dùng đã xóa

Các bảng sau được tạo trong quá trình cài đặt mạng để giúp quản lý mạng

  • wp_site
  • wp_sitemeta
  • wp_blogs
  • wp_blogmeta
  • wp_blog_versions
  • wp_signups
  • wp_registration_log

wp_site

Bảng này sẽ chứa một mạng để cài đặt mặc dù bảng được cấu trúc để cho phép nhiều mạng trong một cơ sở dữ liệu. Điều này chưa bao giờ được triển khai trong chính WordPress, nhưng có thể được quản lý bằng plugin như WP Multi Network hoặc Networks for WordPress

  • id – số duy nhất được gán cho mỗi trang web
  • tên miền – tên miền cơ sở của trang web
  • đường dẫn – đường dẫn của trang web

wp_sitemeta

Bảng này giống như wp_options cho mạng. Nó lưu trữ tất cả cấu hình và thông tin liên quan đến mạng, cũng như các dữ liệu khác, chẳng hạn như cài đặt cho các plugin hỗ trợ mạng

  • meta_id – số duy nhất được gán cho mỗi hàng của bảng
  • site_id – ID của trang liên quan. (Tham khảo bảng wp_site. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_blogs

Tất cả các trang con trong mạng được lưu trữ trong bảng này

  • blog_id – số duy nhất được gán cho mỗi blog (trang con)
  • site_id – ID trang web mà blog thuộc về. (Tham khảo bảng wp_site. )
  • tên miền – tên miền cơ sở của blog
  • đường dẫn – đường dẫn của blog
  • đã đăng ký – thời gian và ngày khi blog được đăng ký
  • last_updated – thời gian và ngày blog được cập nhật lần cuối
  • công khai – nếu blog hiển thị công khai
  • lưu trữ – nếu blog được lưu trữ
  • trưởng thành – nếu blog dành cho đối tượng trưởng thành, tức là. NSFW
  • thư rác – nếu blog đã bị đánh dấu là thư rác
  • đã xóa – nếu blog đã bị xóa
  • lang_id – ID ngôn ngữ của blog

wp_blogmeta

Được giới thiệu trong WordPress 5. 1, wp_blogmeta là bảng cơ sở dữ liệu mới để lưu trữ siêu dữ liệu được liên kết với các trang web. Điều này có nghĩa là bạn không cần sử dụng bảng tùy chọn để lưu trữ dữ liệu về trang web và phải sử dụng

define( 'WP_POST_REVISIONS', 10 );
4 trước khi truy cập nó

  • meta_id – số duy nhất được gán cho mỗi hàng của bảng
  • blog_id – ID blog mà meta thuộc về. (Tham khảo bảng wp_blogs. )
  • meta_key – khóa nhận dạng cho đoạn dữ liệu
  • meta_value – phần dữ liệu thực tế

wp_blog_versions

Khi bạn nâng cấp phiên bản WordPress, trang web của bạn đang chạy đôi khi có những thay đổi về cơ sở dữ liệu. Nâng cấp cài đặt Nhiều trang lên phiên bản WordPress mới sẽ thực hiện những thay đổi đó đối với các bảng toàn cầu. Tuy nhiên, bộ bàn dành cho các site con trong hệ thống mạng cũng cần phải áp dụng nâng cấp. Bảng này ghi lại phiên bản cơ sở dữ liệu của từng blog trong mạng, vì vậy WordPress biết blog nào cần nâng cấp và cập nhật sau khi chạy xong

  • blog_id – ID blog. (Tham khảo bảng wp_blogs. )
  • db_version – phiên bản WordPress DB hiện tại cho các bảng blog
  • last_updated – thời gian và ngày của lần nâng cấp cuối cùng

wp_signups

Bảng này lưu trữ dữ liệu trên các blog đã được đăng ký nhưng chưa được kích hoạt khi mạng cho phép các trang web mới được đăng ký. Khi một trang web được kích hoạt, bản ghi sẽ bị xóa và một bản ghi được tạo trong wp_blogs

  • signup_id – số duy nhất được gán cho mỗi hàng của bảng
  • tên miền – tên miền cơ sở của blog
  • đường dẫn – đường dẫn của blog
  • tiêu đề – tên của blog
  • user_login – tên người dùng của người dùng đăng ký blog
  • user_email – email của người dùng
  • đã đăng ký - thời gian và ngày đăng ký
  • kích hoạt – nếu blog đã được kích hoạt
  • hoạt động – nếu blog đang hoạt động
  • activation_key – khóa kích hoạt được sử dụng trong email để kích hoạt blog
  • meta – dữ liệu về đăng ký

wp_registration_log

Bảng này ghi lại người dùng đăng ký một trang web mới sau khi nó được kích hoạt

  • ID – số duy nhất được gán cho mỗi hàng của bảng
  • email – địa chỉ email của người dùng
  • IP – Địa chỉ IP của người dùng
  • blog_id – ID blog. (Tham khảo bảng wp_blogs. )
  • date_registered – thời gian và dữ liệu blog đã được đăng ký

Kết nối với cơ sở dữ liệu WordPress

Cách phổ biến nhất để kết nối với cơ sở dữ liệu WordPress là với phpMyAdmin, một công cụ quản trị dựa trên web cho cơ sở dữ liệu MySQL. Nó được cài đặt trên nhiều máy chủ web (thường thông qua cPanel), cũng như các môi trường phát triển cục bộ như MAMP

Nếu bạn có quyền truy cập SSH vào máy chủ, bạn có thể làm theo hướng dẫn của chúng tôi để kết nối qua CLI hoặc sử dụng ứng dụng như TablePlus

Cơ sở dữ liệu WordPress và tối ưu hóa truy vấn

Nếu trang web của bạn có nội dung cập nhật thường xuyên hoặc là một trang web bận rộn, thì cơ sở dữ liệu WordPress của bạn sẽ thực hiện nhiều câu lệnh CẬP NHẬT và XÓA theo thời gian, có thể dẫn đến các tệp dữ liệu MySQL bị phân mảnh. Điều này có thể gây ra kích thước cơ sở dữ liệu lớn không cần thiết và có thể ảnh hưởng đến hiệu suất của cơ sở dữ liệu

Các bảng có thể được tối ưu hóa bằng cách sử dụng câu lệnh MySQL

define( 'WP_POST_REVISIONS', 10 );
5 hoặc bằng cách sử dụng một công cụ cơ sở dữ liệu như phpMyAdmin. Đối với các bảng sử dụng công cụ lưu trữ InnoDB, truy vấn sẽ xây dựng lại bảng để cập nhật số liệu thống kê chỉ mục và giải phóng dung lượng không sử dụng. Ví dụ

 OPTIMIZE TABLE wp_postmeta

Có những điều khác bạn có thể làm để giữ kích thước của cơ sở dữ liệu WordPress ở kích thước hợp lý để giữ cho nó nhanh. Chức năng sửa đổi WordPress là một phần mạnh mẽ và hữu ích của trải nghiệm chỉnh sửa, nhưng vô số bản sửa đổi được lưu trữ theo mặc định, điều này thường không cần thiết và có thể được giới hạn bằng cách đặt hằng số sau

define( 'WP_POST_REVISIONS', 10 );

WordPress cũng tự động lưu các bài đăng, trang và loại bài đăng tùy chỉnh mỗi phút. Khoảng thời gian này có thể được kéo dài với hằng số sau

________số 8

WordPress cũng sẽ lưu trữ các bài đăng đã xóa trong thùng rác trong 30 ngày trước khi xóa chúng đi. Khoảng thời gian này có thể được rút ngắn với hằng số sau

define( 'EMPTY_TRASH_DAYS', 3 );

chỉ mục

Một trong những yếu tố quan trọng nhất đối với tốc độ và hiệu suất của cơ sở dữ liệu là chỉ mục cơ sở dữ liệu. Một chỉ mục có thể được tạo trong một hoặc nhiều cột, cho phép cơ sở dữ liệu nhanh chóng tìm kiếm dữ liệu trong các cột, cũng như sắp xếp thứ tự các cột một cách hiệu quả

Cơ sở dữ liệu WordPress mặc định có các chỉ mục trên một số cột trên các bảng của nó. Ví dụ: bảng

define( 'WP_POST_REVISIONS', 10 );
6 có cột
define( 'WP_POST_REVISIONS', 10 );
7 chứa tham chiếu đến bài đăng mà phần meta liên quan đến

Khi tìm kiếm tất cả meta bài đăng cho một ID bài đăng cụ thể, chỉ mục này giúp truy vấn nhanh nhất có thể. Điều này rất quan trọng trên các bảng như bảng meta bài đăng, có thể có hàng triệu hàng dữ liệu

Các chỉ mục phải là một cân nhắc quan trọng khi tạo các bảng WordPress tùy chỉnh, đặc biệt nếu một phần của plugin bạn định phân phối. Hiệu suất truy vấn bảng và SQL trên các trang web quy mô lớn nên được xem xét khi thiết kế cấu trúc bảng

Tôi đã viết về việc thêm chỉ mục vào các bảng tùy chỉnh và xác định các truy vấn SQL chậm trong cơ sở dữ liệu WordPress trong bài viết của tôi về tối ưu hóa truy vấn SQL

Di chuyển cơ sở dữ liệu WordPress

Vì WordPress lưu trữ URL trang web và đường dẫn tệp bên trong cơ sở dữ liệu ở nhiều nơi khác nhau nên việc di chuyển từ các máy chủ khác nhau hoặc di chuyển từ URL trang web phát triển sang URL trang web trực tiếp có thể khó khăn

URL trang web được lưu trữ trong bảng

define( 'WP_POST_REVISIONS', 10 );
8 trong các tùy chọn
define( 'WP_POST_REVISIONS', 10 );
9 và
define( 'AUTOSAVE_INTERVAL', 300 );
0, cột GUID
define( 'AUTOSAVE_INTERVAL', 300 );
1, cũng như bất kỳ nơi nào chứa URL tuyệt đối cho hình ảnh và các nội dung khác

May mắn thay, các công cụ di chuyển tồn tại để giúp quá trình di chuyển cơ sở dữ liệu WordPress trở nên nhanh chóng và dễ dàng. Tiện dụng với WP CLI?

define( 'WP_POST_REVISIONS', 10 );
7

Hoặc nếu bạn muốn sử dụng một plugin có giao diện người dùng mạnh mẽ để cho phép bạn xuất, nhập và đẩy và kéo cơ sở dữ liệu giữa các trang, thì hãy xem WP Migrate DB Pro

Cơ sở dữ liệu làm gì trong wordpress?

Nó cũng có thể đảm nhiệm việc di chuyển phương tiện, plugin và chủ đề của bạn giữa các trang web cũng như sao lưu cơ sở dữ liệu của bạn trước khi thực hiện di chuyển. Sao lưu cơ sở dữ liệu WordPress của bạn phải là một phần của bất kỳ kế hoạch dự phòng cơ sở dữ liệu nào của nhà phát triển

Bảo mật cơ sở dữ liệu

Tôi đã đề cập đến tầm quan trọng của sao lưu cơ sở dữ liệu. Đây là điều nên được thực hiện thường xuyên (cùng với thư mục nội dung wp của trang web của bạn) để đảm bảo bạn có thể hoàn nguyên về phiên bản trước nếu cơ sở dữ liệu của bạn bị hỏng hoặc bị tấn công

Một khía cạnh quan trọng của điều này là sao lưu ngoài trang web tới nhà cung cấp đám mây như Amazon S3 hoặc DigitalOcean Spaces. Nếu máy chủ của bạn gặp sự cố, thì việc có quyền truy cập vào bản sao lưu gần đây được lưu trữ an toàn ở nơi khác là vô cùng quan trọng. SpinupWP cho phép bạn định cấu hình sao lưu trang web theo lịch trình cho các nhà cung cấp lưu trữ khác nhau

Tim Nash đưa ra một quan điểm tuyệt vời về sự cần thiết phải thường xuyên kiểm tra các bản sao lưu của bạn, bởi vì một bản sao lưu là vô giá trị trừ khi nó có thể được khôi phục đúng cách

kết thúc

Cơ sở dữ liệu WordPress là một phần quan trọng của bất kỳ trang web WordPress nào, vì vậy bạn nên hiểu càng nhiều về nó càng tốt

Hy vọng rằng hướng dẫn này đã đề cập đến rất nhiều khía cạnh quan trọng của cơ sở dữ liệu WordPress có thể giúp bạn thăng cấp với tư cách là nhà phát triển WordPress

Bạn có câu hỏi nào về Cơ sở dữ liệu WordPress không?

Mục nhập này đã được đăng trong WP Migrate DB Pro, Cơ sở dữ liệu và được gắn thẻ WordPress, Phát triển, Mẹo phát triển WordPress, Cơ sở dữ liệu, Tham quan, MySQL

Giới thiệu về tác giả

Cơ sở dữ liệu làm gì trong wordpress?

Iain Poulson Giám đốc sản phẩm

Iain là giám đốc sản phẩm có trụ sở tại miền nam nước Anh. Anh ấy cũng điều hành nhiều sản phẩm WordPress. Anh ấy giúp mọi người mua và bán doanh nghiệp WordPress và viết bản tin hàng tháng về xu hướng WordPress

@polevaultweb. com

  • Cơ sở dữ liệu làm gì trong wordpress?
    Duncan nói.

    20 Tháng hai, 2015 lúc 11. 24 giờ sáng

    Điều này thật tuyệt vời. Cảm ơn bạn. Sẽ đánh dấu cái này để tham khảo. Tôi hiểu rất nhiều thứ trong số này có tác dụng gì nhưng một số không chắc lắm, điều này sẽ giúp tôi hiểu rõ hơn về những gì trong WordPress 🙂

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Mike Hemberger nói.

    20 Tháng hai, 2015 lúc 11. 36 giờ sáng

    Thật là một bài đăng tuyệt vời… Tôi chắc chắn không thích nghịch cơ sở dữ liệu, nhưng đôi khi nó chắc chắn là cần thiết. Điều này là rõ ràng và dễ làm theo. Cảm ơn

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    aplkorex nói.

    20 Tháng hai, 2015 lúc 11. 41 giờ sáng

    Ấn tượng… thực tế là tôi có thể hiểu được điều này trong một lần đọc nhanh như vậy. Làm tốt lắm Iain, đánh giá cao. Những thứ tôi đã biết đã tồn tại trong nhiều năm nhưng không dành thời gian để tiêu hóa đúng cách

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Giá trợ cấp nói.

    20 Tháng hai, 2015 lúc 11. 56 giờ sáng

    Bài đăng thực sự tuyệt vời – chắc chắn sẽ thêm vào hộp công cụ của tôi

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Nate Wright nói.

    20 Tháng hai, 2015 lúc 2. 24 giờ chiều

    cảm ơn iain. Tôi luôn tự hỏi term_group dùng để làm gì. Điều thú vị là nó không được sử dụng. Bạn có biết mục đích ban đầu của nó là gì không?

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Ahmad Awais nói.

    21 Tháng hai, 2015 lúc 1. 50 giờ sáng

    tốt một. Đánh dấu cho học sinh của tôi

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Tome nói.

    23 Tháng hai, 2015 lúc 1. 50 giờ sáng

    Điều này là siêu hữu ích;

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Elliot nói.

    23 Tháng hai, 2015 lúc 7. 40 giờ sáng

    Đây là một nguồn tài nguyên sử thi. đánh dấu. Cám ơn vì đã chia sẻ

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Mike Little nói.

    10 Tháng Ba, 2015 lúc 11. 46 giờ chiều

    Iain, một vài điều chỉnh. Bạn nên đề cập rằng WordPress cốt lõi không sử dụng post_content_filtered trong bảng wp_posts, nhưng một số plugin thì có. Ngoài ra, cột term_group trong bảng wp_terms được sử dụng bởi lõi WordPress. Nếu một plugin hoặc chủ đề điền vào nó (nghĩa là thiết lập các thuật ngữ từ đồng nghĩa), thì WordPress sẽ xử lý nó một cách chính xác. Cuối cùng, các tham chiếu "meta" của bạn đến "bài đăng này" có nghĩa là bài đăng trên blog này sẽ hoàn toàn khó hiểu đối với một số người, đặc biệt là dù sao bạn cũng thừa nhận sự nhầm lẫn xung quanh thuật ngữ này. Nó sẽ giúp làm rõ chúng

    Hồi đáp

    • Cơ sở dữ liệu làm gì trong wordpress?
      Iain nói.

      11 Tháng Ba, 2015 lúc 5. 27 giờ sáng

      chào Mike. Cảm ơn đã dành thời gian ở đây, sửa chữa được thực hiện. Tôi hiểu ý của bạn về việc quá 'meta', sẽ suy nghĩ cách tốt nhất để cơ cấu lại điều đó. Hẹn gặp bạn tại WordCamp Luân Đôn

      Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    CarlosWPGuy nói.

    11 Tháng Ba, 2015 lúc 4. 17 giờ sáng

    Cảm ơn bạn. Rất dễ hiểu

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    John nói.

    11 Tháng Ba, 2015 lúc 8. 36 giờ sáng

    Cảm ơn rất nhiều vì đã điền vào các khoảng trống codex WP

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Cannonpult nói.

    12 Tháng Ba, 2015 lúc 4. 57 giờ tối

    "Tại Delicious Brains, cơ sở dữ liệu về ăn, uống và ngủ của chúng tôi. "Nhưng tôi nghĩ bạn ăn ...não. . )

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Siêu phi công nói.

    12 Tháng Ba, 2015 lúc 5. 56 giờ chiều

    Cảm ơn bạn, cảm ơn bạn, cảm ơn bạn

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    nonchiedercilaparola nói.

    21 Tháng Ba, 2015 lúc 3. 21 giờ tối

    Là một nơi để xem hình ảnh với các bảng luôn được nâng cấp lên phiên bản wp cuối cùng?

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Ross McKay nói.

    25 Tháng Ba, 2015 lúc 10. 57 giờ tối

    "guid – Mã định danh duy nhất toàn cầu, URL cố định của bài đăng, không phải phiên bản liên kết cố định. " - không chính xác. Permalink tại thời điểm tạo chỉ được sử dụng vì đó là ID duy nhất tiện dụng, nhưng bạn có thể sử dụng bất kỳ thuật toán tạo GUID nào để tạo GUID cho bài đăng. Đó là thứ không nên thay đổi (ngay cả khi di chuyển dữ liệu, ngoại trừ các trường hợp mà Brad vạch ra) và có thể được sử dụng để phân biệt hai bài đăng với nhau (e. g. trong nguồn cấp dữ liệu RSS hoặc hợp nhất nội dung một cách an toàn và lặp lại từ nhiều nguồn)

    Hồi đáp

    • Cơ sở dữ liệu làm gì trong wordpress?
      coccoinomane nói.

      24 Tháng hai, 2016 lúc 8. 40 giờ sáng

      Tôi hoàn toàn đồng ý. GUID không liên quan gì đến URL, bài viết nên được cập nhật

      Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Josh @ Đi du lịch từ 9 đến 5 giờ nói.

    2 Tháng Tư, 2015 lúc 11. 49 giờ sáng

    bài đăng tuyệt vời. Tuy nhiên, lời giải thích của bạn về wp_term_taxonomy có thể đã lỗi thời kể từ WP 4. 1 vì các điều khoản được chia sẻ không còn được tạo nữa

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    bhavesh nói.

    27 Tháng Năm, 2015 lúc 10. 09 giờ sáng

    rất hữu ích…

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    savitri nói.

    Tháng Bảy 7, 2015 lúc 6. 21 giờ sáng

    cảm ơn nhiều. tôi cần cái này cho nhiệm vụ của tôi. rất hữu ích

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Jana Mičeková nói.

    Tháng Bảy 13, 2015 lúc 4. 09 giờ sáng

    Cảm ơn bạn, bài viết tuyệt vời

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Dhaliwal sâu sắc nói.

    18 Tháng Mười, 2016 lúc 4. 28 giờ sáng

    bài báo osm. Cảm ơn

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Chirag 64bit nói.

    Tháng Tư 6, 2017 lúc 2. 42 giờ sáng

    cảm ơn người đàn ông nó rất hữu ích cho người mới bắt đầu

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Jim True nói.

    Tháng Giêng 10, 2018 lúc 1. 50 giờ chiều

    Có cơ hội nào để các bạn cập nhật bài viết này với các bổ sung cho các bảng mới được thêm vào kể từ khi nó được đăng không?

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    các bà mẹ nói.

    1 Tháng Hai, 2018 lúc 11. 16 giờ sáng

    Chào mọi người. Có thể băm hoặc mã hóa một số thông tin bên trong cơ sở dữ liệu wordpress như. user_login user_nicename user_email post_password Cảm ơn trước câu trả lời của bạn

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    GAZI TASNIM AHMAD nói.

    17 Tháng Mười, 2018 lúc 12. 23 giờ sáng

    tại sao wordpress thêm bảng postMeta nếu chúng ta có thể thêm bất kỳ số lượng cột nào trong bảng bài đăng thông qua các truy vấn sql?

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    Nocare nói.

    Tháng Một 21, 2020 tại 5. 24 giờ sáng

    bất kỳ bài viết nào trên cơ sở dữ liệu thương mại điện tử

    Hồi đáp

  • Cơ sở dữ liệu làm gì trong wordpress?
    nregev nói.

    Tháng Sáu 16, 2020 tại 3. 16 giờ chiều

    bài báo rất thú vị, nhưng làm thế nào nó được đăng vào ngày 3 tháng 6 năm 2020 và rất nhiều bình luận từ 5 năm trước ???

    Hồi đáp

    • Cơ sở dữ liệu làm gì trong wordpress?
      Bộ não ngon nói.

      Tháng Sáu 17, 2020 tại 10. 24 giờ sáng

      Xin lỗi vì sự nhầm lẫn. Ban đầu chúng tôi đã xuất bản bài báo vào năm 2015 nhưng gần đây đã cập nhật nó để bao gồm nhiều chi tiết hơn. Chúng tôi sẽ làm việc để làm cho điều này rõ ràng hơn trong tương lai. -CW

      Cơ sở dữ liệu trong WordPress dùng để làm gì?

      Cơ sở dữ liệu WordPress là nơi lưu trữ tất cả dữ liệu trang web của bạn sử dụng hệ thống mã nguồn mở MySQL. Nó lưu trữ tất cả thông tin về một trang web WordPress, bao gồm (nhưng không giới hạn). bài viết, trang web. thẻ.

      Cơ sở dữ liệu nào được WordPress yêu cầu?

      WordPress sử dụng hệ thống quản lý cơ sở dữ liệu có tên là MySQL , đây là phần mềm mã nguồn mở.

      Cơ sở dữ liệu trong WordPress ở đâu?

      Nhấp vào Hosting ở menu trên cùng rồi nhấp vào cPanel ở menu con. Tìm phần Tệp và nhấp vào Trình quản lý tệp . Bạn có thể nhận được một cửa sổ bật lên yêu cầu bạn chọn thư mục bạn muốn bắt đầu. Chọn tùy chọn Document Root for và chọn trang web bạn muốn lấy thông tin cơ sở dữ liệu cho.

      Cơ sở dữ liệu là gì và nó hoạt động như thế nào?

      Cơ sở dữ liệu được dùng để lưu trữ, duy trì và truy cập bất kỳ loại dữ liệu nào . Họ thu thập thông tin về người, địa điểm hoặc đồ vật. Thông tin đó được tập trung tại một nơi để có thể quan sát và phân tích. Cơ sở dữ liệu có thể được coi là một tập hợp thông tin có tổ chức.