1678814400
Trong hướng dẫn về MySQL và WordPress này, chúng ta tìm hiểu về Cách cơ sở dữ liệu hoạt động với MySQL và WordPress. WordPress sử dụng MySQL, một hệ thống quản lý cơ sở dữ liệu nguồn mở, để lưu trữ và truy xuất tất cả thông tin trang web của bạn, từ nội dung bài đăng và trang đến nhận xét, tên người dùng và mật khẩu của bạn.
Nếu bạn cần hình dung nó, hãy coi cơ sở dữ liệu của trang web của bạn giống như một tủ hồ sơ và MySQL là công ty đã tạo ra nó.
MySQL là một lựa chọn cơ sở dữ liệu phổ biến cho các ứng dụng web – Joomla! và Drupal cũng sử dụng nó, và theo Wikipedia, rất nhiều công ty nổi tiếng như Google, Facebook, Twitter, Flickr và YouTube cũng sử dụng nó.
Vậy chính xác thì MySQL hoạt động với WordPress như thế nào? Trong bài viết này, tôi sẽ hướng dẫn bạn mọi thứ cần biết về MySQL và cách nó tương tác với WordPress, bao gồm kiến trúc cơ sở dữ liệu, công cụ lưu trữ, kỹ thuật tối ưu hóa và các phương pháp hay nhất để tối ưu hóa và quản lý cơ sở dữ liệu.
MySQL là thành phần trung tâm trong ngăn xếp LAMP của phần mềm ứng dụng web nguồn mở được sử dụng để tạo trang web. LAMP là viết tắt của Linux, Apache, MySQL và PHP. MySQL cũng được sử dụng trong ngăn xếp LEMP, thay thế Apache cho Nginx (phát âm là Engine-X).
WordPress sử dụng PHP để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu MySQL, sử dụng các truy vấn SQL trong đánh dấu PHP. Ví dụ: nếu bạn là thành viên của trang web thành viên do WordPress cung cấp, thì SQL được sử dụng để đăng nhập cho bạn, truy xuất ID thành viên duy nhất của bạn, kiểm tra xem bạn có tư cách thành viên đang hoạt động hay không và đảm bảo dữ liệu hồ sơ chính xác được hiển thị ở mặt trước -kết thúc.
PHP và SQL hoạt động cùng với WordPress, cho phép bạn tạo nội dung động dựa trên nhiều yếu tố khác nhau, chẳng hạn như ID và vai trò người dùng của bạn. Điều này cho phép bạn thực hiện những việc như ẩn hoặc hiển thị nội dung cho những người dùng cụ thể, chẳng hạn như quản trị viên, người chỉnh sửa và người đăng ký. Nếu không có SQL và MySQL thì điều này sẽ không thể thực hiện được.
Các plugin và chủ đề cũng sử dụng cơ sở dữ liệu của bạn để lưu trữ dữ liệu, chẳng hạn như các tùy chọn, sau đó sử dụng SQL trong đánh dấu PHP để truy vấn cơ sở dữ liệu và xuất nội dung một cách linh hoạt.
Điều đáng nói là nếu bạn điều hành một trang web nhỏ (tức là một blog về con mèo của bạn), bạn thực sự không cần phải loay hoay với SQL. Chỉ khi bạn làm việc trên các trang web cấp doanh nghiệp thì kiến thức về SQL mới trở nên cần thiết.
Để giúp bạn hiểu chính xác cách WordPress hoạt động với MySQL, hãy xem qua các bảng mà WordPress lưu trữ trong cơ sở dữ liệu điển hình.
WordPress có một lược đồ cơ sở dữ liệu khá đơn giản và không phức tạp. Nó bao gồm 11 bảng, được sử dụng bởi các thành phần cốt lõi của WordPress và không thể bị xóa hoặc xóa.
wp_commentmeta – Lưu trữ siêu dữ liệu từ tất cả các nhận xét còn lại trên các bài đăng và trang WordPress của bạn, bao gồm các loại bài đăng tùy chỉnh.
wp_comments – Lưu trữ tất cả các nhận xét được đưa ra trên trang web của bạn, bao gồm các nhận xét đã xuất bản, bản nháp, đang chờ xử lý và spam.
wp_links – Giữ tất cả thông tin được nhập vào tính năng quản lý liên kết của WordPress, tính năng này hiện nay hiếm khi được sử dụng, với tính năng liên kết không còn được dùng nữa từ WordPress 3.5 và được ẩn theo mặc định trên các bản cài đặt mới.
wp_options – Không chỉ tất cả các tùy chọn WordPress được lưu trữ trong bảng này, chẳng hạn như cài đặt đọc và thảo luận của bạn, mà giờ đây, các plugin sử dụng wp_options để lưu trữ cài đặt đã lưu thay vì bảng tùy chỉnh ngày càng phổ biến hơn.
wp_postsmeta – Như bạn đã đoán, bảng này lưu trữ tất cả siêu dữ liệu được liên kết với các bài đăng và trang của bạn.
wp_posts – Lưu trữ tất cả các bài đăng của bạn, cũng như các trang của bạn và cả các mục điều hướng/menu của bạn.
wp_terms – Bảng này lưu trữ các danh mục cho bài đăng, liên kết và thẻ.
wp_term_relationships – Các bài đăng được liên kết với các danh mục và thẻ từ bảng wp_terms và liên kết này được duy trì trong bảng wp_term_relationships. Sự liên kết của các liên kết với các danh mục tương ứng của chúng cũng được lưu giữ trong bảng này.
wp_term_taxonomy – Mô tả phân loại chẳng hạn như danh mục, liên kết hoặc thẻ cho các mục trong wp_terms_table .
wp_usermeta – Lưu trữ siêu dữ liệu của tất cả người dùng từ bảng wp_users .
wp_users – Tất cả người dùng của bạn được lưu trữ trong bảng này. Hãy nhớ rằng, dữ liệu như mật khẩu được đánh số thứ tự.
Cơ sở dữ liệu cho cài đặt Nhiều trang được cấu trúc rất khác so với cơ sở dữ liệu của một trang web độc lập, vì vậy nếu bạn quản lý trang này hay trang kia hoặc cả hai thì điều quan trọng là bạn phải hiểu sự khác biệt để có thể quản lý trang web của mình một cách hiệu quả.
wp_blogs – Mỗi trang web được tạo trên mạng Nhiều trang được lưu trữ trong bảng này.
wp_blog_versions – Lưu trữ phiên bản cơ sở dữ liệu hiện tại của từng trang web trong mạng và chủ yếu được sử dụng trong quá trình cập nhật mạng của bạn. Nó được cập nhật khi mỗi trang web được nâng cấp.
wp_registration_log – Nhật ký người dùng quản trị viên tạo khi mỗi trang web mới được đăng ký.
wp_site – Bảng này chứa địa chỉ trang web chính.
wp_sitemeta – Mỗi trang web có dữ liệu trang web; bảng này lưu trữ dữ liệu trang web bao gồm các tùy chọn khác nhau bao gồm quản trị viên trang web.
wp_users – Chứa tất cả người dùng, trong khi trường này cũng được sử dụng trong cài đặt trên một trang web. Nó bao gồm hai trường/hàng bổ sung spam và bị xóa.
wp_usermeta – Khi sử dụng Nhiều trang web, bảng này lưu trữ siêu dữ liệu của người dùng cho từng trang web (đây không phải là bản tạo lại wp_usermeta trong một lần cài đặt trang web).
Các bảng dành riêng cho trang web cũng được thêm vào cơ sở dữ liệu của bạn, tức là wp_2_commentmeta, wp_2_comments, wp_2_links . Dữ liệu trang web chính của bạn được lưu trữ trong các bảng không được đánh số hiện có và các trang web tiếp theo có dữ liệu được lưu trữ trong các bảng được đánh số theo cấu trúc đặt tên của các bảng trang web chính.
Khi bạn cài đặt plugin, nó sẽ sử dụng cơ sở dữ liệu của bạn để lưu trữ và truy xuất dữ liệu liên quan đến plugin đó. Ví dụ: một plugin trường tùy chỉnh sẽ lưu các trường mà nó tạo vào cơ sở dữ liệu và sau đó truy xuất chúng để hiển thị trên các bài đăng được liên kết. Nếu không có cơ sở dữ liệu, plugin sẽ không thể lưu trữ bất kỳ trường nào nó tạo, liên kết trường với giá trị bài đăng hoặc truy vấn để hiển thị trên giao diện người dùng.
Các plugin có thể sử dụng các bảng cơ sở dữ liệu mặc định của WordPress, chẳng hạn như wp_posts hoặc wp_postsmeta hoặc tạo các bảng tùy chỉnh. Một ví dụ phổ biến về plugin tạo bảng riêng là WooC Commerce, tạo tám bảng tùy chỉnh để lưu trữ và truy xuất ID sản phẩm, mặt hàng đặt hàng, thuế suất và thông tin sản phẩm khác.
Nếu bạn lo lắng về việc plugin tạo bảng trong cơ sở dữ liệu của mình, đừng lo lắng – việc plugin làm điều này là bình thường. Mặc dù bạn nên sử dụng các bảng hiện có, chẳng hạn như wp_options , để lưu trữ dữ liệu plugin, nhưng không phải lúc nào cũng có thể, đặc biệt là với các plugin phức tạp hơn như WooC Commerce.
Lưu ý: Bạn nên xóa các bảng tùy chỉnh khỏi cơ sở dữ liệu của mình khi xóa plugin khỏi trang web của mình, nếu không, trong suốt thời gian cài đặt, bạn sẽ tích lũy một tập hợp các bảng không sử dụng trong cơ sở dữ liệu của mình. Một số plugin đi kèm với tùy chọn tự động xóa tất cả dữ liệu được liên kết với plugin khi bạn gỡ cài đặt nó. Hãy nhớ rằng bạn chỉ nên xóa các bảng tùy chỉnh khi bạn hoàn toàn chắc chắn rằng mình sẽ không sử dụng lại một phần bổ trợ cụ thể vì sẽ không thể quay lại.
MySQL sử dụng các công cụ lưu trữ để lưu trữ, xử lý và truy xuất thông tin từ một bảng. Mặc dù MySQL cung cấp hỗ trợ cho 13 công cụ lưu trữ khác nhau, hai tùy chọn được sử dụng phổ biến nhất là MyISAM và InnoDB.
Hầu hết thời gian, công cụ lưu trữ mặc định như được xác định trong tệp cấu hình MySQL của bạn thường là MyISAM và đây là công cụ mà mọi người thường sử dụng. Vì nhiều người không bận tâm dành thời gian để chọn một công cụ lưu trữ, họ chỉ sử dụng mặc định.
Nếu bạn quyết định chọn một công cụ lưu trữ, thì với WordPress, quyết định đó sẽ dễ dàng hơn một chút – trong khi MyISAM có thể đọc nhanh hơn, thì InnoDB lại nhanh hơn cho cả đọc và viết nhờ cơ chế khóa hàng của nó. Vì WordPress phụ thuộc rất nhiều vào cả đọc và viết, nên InnoDB là lựa chọn tốt nhất.
Điều đáng chú ý là theo mặc định, các bảng được tạo trong phpMyAdmin sử dụng công cụ lưu trữ MyISAM. Thông thường, điều này có nghĩa là nếu bạn sử dụng dịch vụ lưu trữ chia sẻ hoặc máy chủ lưu trữ WordPress không chuyên, các bảng của bạn sẽ sử dụng MyISAM thay vì InnoDB. Nếu bạn muốn thay đổi công cụ lưu trữ của mình, bạn có thể sử dụng truy vấn SQL sau (bạn có thể thực thi truy vấn này trong công cụ quản lý cơ sở dữ liệu yêu thích của mình, chẳng hạn như phpMyAdmin):
SET default_storage_engine=InnoDB;
Lưu ý: Vì một số lý do vô cùng kỳ lạ, các bảng được tạo trong/bởi phpMyAdmin theo mặc định sử dụng MyISAM. Điều này có nghĩa là nếu bạn sử dụng dịch vụ lưu trữ chia sẻ hoặc máy chủ lưu trữ không chuyên, các bảng của bạn sẽ là MyISAM. Đừng sợ! Bạn có thể thay đổi công cụ đang được sử dụng bởi cơ sở dữ liệu của mình. Để thay đổi một bảng, bạn có thể sử dụng:
ALTER TABLE table_name ENGINE=InnoDB;
Thay đổi từng bảng công cụ lưu trữ có thể là một quá trình tốn thời gian, trong trường hợp đó, bạn có thể muốn xem qua hướng dẫn tuyệt vời của Pantheon .
Bây giờ bạn có thể đang nghĩ, “Tuyệt vời! Nhưng còn các plugin tạo bảng tùy chỉnh thì sao – chúng sử dụng công cụ nào?” Câu trả lời là: Họ có thể sử dụng hỗn hợp. Một số khai báo các câu lệnh SQL để sử dụng InnoDB, trong khi một số khác sử dụng MyISAM. Nhìn chung, tốt nhất bạn nên theo dõi cơ sở dữ liệu của mình sau khi cài đặt plugin mới tạo bảng tùy chỉnh và kiểm tra công cụ MySQL nào đang sử dụng.
Lớp này WP_Querylà một truy vấn WordPress cực kỳ mạnh mẽ mà bạn có thể sử dụng để truy cập các bài đăng trong cơ sở dữ liệu của mình. Chúng tôi đã đề cập WP_Queryrất nhiều trên blog này trước đây, vì vậy tôi thực sự chỉ chỉ ra nó ở đây.
Để có hướng dẫn toàn diện hơn về WP_Query, hãy xem bài đăng của chúng tôi Hướng dẫn chuyên sâu để chinh phục WP_Query .
Một trong những lý do phổ biến nhất khiến trang web chậm là do cơ sở dữ liệu không được tối ưu hóa được duy trì kém.
Chúng ta đã xem xét những lợi ích của việc chọn một công cụ cơ sở dữ liệu và bây giờ chúng ta sẽ xem xét cách bạn có thể loại bỏ một số nội dung rác được lưu trữ trên trang web của mình để làm cho trang web gọn gàng hơn.
Để có hướng dẫn toàn diện về cách tối ưu hóa cơ sở dữ liệu của bạn, hãy xem hướng dẫn của chúng tôi Tối ưu hóa cơ sở dữ liệu WordPress của bạn – Hướng dẫn đầy đủ .
Trước khi bạn bắt đầu tối ưu hóa cơ sở dữ liệu của mình, bạn nên tạo một bản sao lưu đầy đủ trước trong trường hợp bạn gặp bất kỳ rắc rối nào. Tôi thực sự khuyên dùng Snapshot Pro , plugin sao lưu của chúng tôi. Nó có thể sao lưu và khôi phục toàn bộ trang web của bạn chỉ bằng một cú nhấp chuột, hoàn chỉnh với tích hợp Dropbox và S3.
Snapshot Pro cho phép bạn sao lưu trang web WordPress của mình một cách nhanh chóng và dễ dàng để phục hồi sau này trong trường hợp khẩn cấp. An toàn tốt hơn là xin lỗi!
Một cách đơn giản để tối ưu hóa cơ sở dữ liệu của bạn mà không thực sự làm bất cứ điều gì là cài đặt các phần bổ trợ mà bạn sẽ sử dụng và không cài đặt phần bổ trợ chỉ vì mục đích cài đặt phần bổ trợ. Thật dễ dàng bị lôi cuốn vào việc kích hoạt các plugin mới sáng bóng! Chỉ cần nhớ rằng đối với mỗi plugin bạn cài đặt, dữ liệu mới sẽ được tạo và lần lượt sẽ lấp đầy cơ sở dữ liệu của bạn.
Có những plugin được biết đến với việc lưu trữ lượng dữ liệu đáng kể và những plugin này thường thuộc bốn loại:
Vậy bạn có nên ngừng sử dụng các plugin trên không? Có và không. Mặc dù bạn nên hết sức coi trọng vấn đề spam và bảo mật trang web của mình, trừ khi cần thiết cho loại trang web bạn chạy, hãy cố gắng tránh các plugin thống kê và loại bài đăng phổ biến.
Nhận xét spam là một trong những nguyên nhân chính của cơ sở dữ liệu cồng kềnh nếu không được duy trì đúng cách. Tôi đã thấy các trang web có hàng chục nghìn bình luận spam. May mắn thay, việc loại bỏ chúng không thể đơn giản hơn.
Hoặc chạy một lệnh SQL như thế này:
DELETE FROM wp_comments WHERE comment_approved = ‘spam'
Hoặc, nếu bạn đăng nhập vào bảng điều khiển WordPress của mình và đi tới Nhận xét > Thư rác, bạn sẽ thấy nút “Dọn sạch thư rác”. Nhấp vào nó và mọi nhận xét spam về bản cài đặt của bạn sẽ biến mất vĩnh viễn. Trước khi bạn xóa bất kỳ nhận xét spam nào, hãy đảm bảo kiểm tra xem chúng có thực sự là spam hay không. Bình luận thường bị đánh dấu là spam trong khi thực tế chúng là thật.
Nếu bạn không muốn xử lý thư rác theo cách thủ công, plugin phổ biến nhất để ngăn chặn thư rác đang phát triển là Akismet, plugin này cho phép bạn đặt các nhận xét spam thành tự động bị xóa.
WordPress 2.6 đã giới thiệu tính năng sửa đổi bài đăng, cho phép bạn lưu trữ các phiên bản trước của bài đăng, tức là lưu tất cả các bản nháp và bản cập nhật. Trái ngược với suy nghĩ của nhiều người, chỉ có một bản lưu tự động được giữ cho mỗi bài đăng, tự động xóa phiên bản lưu tự động cũ. Điều này có nghĩa là bảng của bạn sẽ không tiếp tục phát triển với lưu tự động. Tuy nhiên, bảng của bạn sẽ tăng lên mỗi khi bạn nhấp vào “Cập nhật” trên bài đăng của mình hoặc lưu bản nháp mới.
Mặc dù các bản sửa đổi rất hữu ích và cá nhân tôi sẽ không tắt chúng, cũng như không khuyên bạn nên tắt chúng, nhưng bạn có thể tiết kiệm dung lượng trong cơ sở dữ liệu của mình bằng cách xóa các bản sửa đổi cũ. Để giữ số lượng sửa đổi tối đa, bạn có thể thêm một định nghĩa tiện dụng vào tệp wp-config.php của mình:
define( 'WP_POST_REVISIONS', 5 );
Chỉ cần thay đổi số thành bao nhiêu bản sửa đổi mà bạn muốn giữ lại. Nhập 1 hoặc nhiều lưu trữ số lượng bản sửa đổi cộng với lưu tự động, -1 lưu trữ mọi bản sửa đổi và 0 đặt thành false và không lưu trữ bản sửa đổi nào ngoại trừ lưu tự động.
Để xóa các bản sửa đổi khỏi các bài đăng hiện có, bạn cần chạy lệnh SQL để xóa chúng hoặc sử dụng plugin tối ưu hóa WordPress để xóa chúng. Nếu bạn muốn sử dụng SQL, bạn có thể chạy một lệnh như sau:
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Truy vấn này xóa tất cả các sửa đổi bài đăng khỏi các bài đăng đó nhưng cũng xóa tất cả meta và các nguyên tắc phân loại liên quan. Tuy nhiên, hãy nhớ rằng thao tác này sẽ xóa tất cả các bản sửa đổi chứ không chỉ một số bản sửa đổi.
Nếu bạn muốn sử dụng plugin để xóa bản sửa đổi, hãy xem Tối ưu hóa cơ sở dữ liệu sau khi xóa bản sửa đổi . Nó không chỉ cho phép bạn xóa các bản sửa đổi mà còn có khả năng tương thích với nhiều trang và cho phép bạn xóa những thứ như thẻ không sử dụng, meta bài đăng mồ côi và hơn thế nữa.
Các plugin tạo bảng tùy chỉnh thường không xóa chúng khi gỡ cài đặt. Nếu bạn xóa plugin và không định sử dụng lại plugin đó, bạn sẽ muốn xóa bảng mà nó tạo. Mặc dù có những phần bổ trợ như WPDBSpringClean có thể làm việc này cho bạn, nhưng nó đã không được cập nhật trong hơn hai năm và nói chung, bạn không nên sử dụng phần bổ trợ để xóa bảng.
Không có cách nào dễ dàng để biết bảng cơ sở dữ liệu nào không được sử dụng, mặc dù thông thường các plugin đặt tên cho các bảng của chúng bằng tên của plugin hoặc lớp chính của plugin khiến chúng dễ tìm hơn. Tất nhiên, như tôi đã đề cập, trước khi bạn xóa bảng hoặc sửa đổi cơ sở dữ liệu của mình, hãy đảm bảo tạo một bản sao lưu đầy đủ.
MySQL đi kèm với một truy vấn TỐI ƯU, theo hướng dẫn chính thức, “Tổ chức lại bộ lưu trữ vật lý của dữ liệu bảng và dữ liệu chỉ mục được liên kết, để giảm dung lượng lưu trữ và cải thiện hiệu quả I/O khi truy cập bảng.” Những thay đổi chính xác được thực hiện cho mỗi bảng phụ thuộc vào công cụ lưu trữ được sử dụng bởi bảng đó.
Bạn có thể chạy truy vấn TỐI ƯU HÓA bằng công cụ quản lý cơ sở dữ liệu, chẳng hạn như phpMyAdmin.
Nếu bạn muốn một plugin làm tất cả công việc cho bạn, thì WP-Optimize là một tùy chọn miễn phí phổ biến đang hoạt động trên hơn 500.000 lượt cài đặt WordPress. Nó có thể xóa các bản sửa đổi bài đăng, siêu dữ liệu cũ, bài đăng nháp và cũng có thể xóa hàng loạt nhận xét đã chuyển vào thùng rác.
Nó cũng có thể áp dụng truy vấn TỐI ƯU HÓA gốc mà bạn không cần phải sử dụng công cụ quản lý cơ sở dữ liệu hoặc truy vấn thủ công trong công cụ quản lý cơ sở dữ liệu của mình. Quá dễ dàng!
Nếu cơ sở dữ liệu của bạn bị hỏng vì bất kỳ lý do gì, đừng hoảng sợ! Bạn có thể chỉnh sửa tệp wp-config.php của mình để sửa nó:
define('WP_ALLOW_REPAIR', true);
Khi bạn đã lưu tệp của mình, hãy khởi động trình duyệt của bạn và truy cập www.example.com/wp-admin/maint/repair.php
Trên màn hình sửa chữa, bạn có thể sửa chữa cơ sở dữ liệu của mình hoặc sửa chữa và tối ưu hóa cơ sở dữ liệu của mình. Khi bạn đã chọn một trong hai tùy chọn, WordPress sẽ thử và tự động sửa chữa cơ sở dữ liệu của bạn.
Đôi khi sửa chữa cơ sở dữ liệu của bạn theo cách này không hoạt động hoặc chỉ hoạt động một phần. Trong trường hợp này, hãy mở phpMyAdmin và thử sửa chữa từng bảng cơ sở dữ liệu của bạn.
Nhưng nếu sửa chữa cơ sở dữ liệu của bạn theo cách đó cũng không hoạt động thì sao? Trừ khi bạn là một chuyên gia phục hồi dữ liệu và ninja SQL, đây là điểm mà bạn cần dùng đến việc khôi phục bản sao lưu trước đó của trang web nếu bạn có.
Tôi có thể nói mãi về bộ nhớ đệm và WordPress vì có rất nhiều điều cần biết, nhưng đối với bài viết này, tôi sẽ đề cập đến những điều quan trọng nhất mà bạn cần biết.
API tạm thời rất giống với API tùy chọn trong WordPress (một cách lưu trữ dữ liệu đơn giản và được tiêu chuẩn hóa trong cơ sở dữ liệu giúp dễ dàng tạo, truy cập, cập nhật và xóa các tùy chọn), nhưng có thêm tính năng về thời gian hết hạn, giúp đơn giản hóa quá trình sử dụng bảng cơ sở dữ liệu wp_options để lưu trữ tạm thời thông tin được lưu trong bộ nhớ cache.
Trong WordPress, bạn có thể sử dụng tạm thời cho dữ liệu thay đổi liên tục mà bạn muốn hết hạn và cập nhật, nhưng cũng có thể thay thế cho các truy vấn cơ sở dữ liệu chuyên sâu hơn mà bạn muốn lưu vào bộ đệm.
Một nhược điểm là quá độ được mã hóa kém; có thể tạm thời có thời gian hết hạn nhưng không được đặt thành bị xóa, dẫn đến việc cố gắng tải tạm thời nhưng không tồn tại. Ngoài ra, chủ sở hữu trang web cài đặt plugin xóa tạm thời đã trở nên phổ biến; xóa các phần tạm thời được sử dụng bởi plugin và chủ đề không nên xóa có thể gây ra nhiều sự cố cho trang web của bạn.
Cuối cùng, bạn chỉ nên xóa các phần tạm thời nếu bạn biết chính xác mình đang làm gì và chúng dùng để làm gì – đừng chỉ xóa hàng loạt tất cả các phần tạm thời vì rất có thể bạn sẽ kết thúc với một trang web bị hỏng.
Sử dụng Memcached trên trang web của bạn cho phép bạn tăng tốc các truy vấn cơ sở dữ liệu chuyên sâu (dữ liệu và đối tượng) trong RAM để giảm số lần đọc trên cơ sở dữ liệu của bạn. Điều này cho phép các trang của bạn được tải nhanh hơn vì dữ liệu đã có ở đó mà không cần phải thực hiện truy vấn.
Một nhược điểm, giống như tất cả bộ nhớ đệm, là nếu bạn cập nhật bài đăng/trang/trang web của mình và nó đã được lưu vào bộ đệm, bạn sẽ cần xóa bộ đệm trước khi các thay đổi được hiển thị.
Một sai lầm mà nhiều người thường mắc phải với Memcaching là cài đặt một plugin chẳng hạn như W3 Total Cache, thấy cài đặt cho Memcache và kích hoạt nó mà không thực sự thiết lập Memcached. Bạn không thể chỉ đặt tùy chọn mà không định cấu hình phía cơ sở dữ liệu/máy chủ Memcached trước! Một Memcached được định cấu hình không chính xác (hoặc bất kỳ bộ nhớ đệm đối tượng nào, đối với vấn đề đó) có thể tàn phá trang web và cơ sở dữ liệu của bạn, gây ra sự cố nhất thời trong số những vấn đề khác gây ra sự cố với các bản cập nhật tự động và plugin/chủ đề dựa vào tạm thời.
Không còn nghi ngờ gì nữa, phương pháp yêu thích của tôi về bộ nhớ đệm điều khiển cơ sở dữ liệu với WordPress là Redis, phương pháp này tạo ra sự khác biệt lớn về thời gian tải trang. Không giống như Memcached, Redis có tính bền bỉ tích hợp sẵn; Giống như Memcached, Redis cũng là một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ (lưu trữ dữ liệu của bạn trong RAM).
Bạn có thể sử dụng plugin Redis Object Cache để kết nối Redis với trang web WordPress của mình. Tuy nhiên, hãy nhớ rằng trước tiên bạn cần thiết lập Redis và định cấu hình bộ nhớ đệm của mình. Một cách bạn có thể làm điều này là sử dụng tập lệnh Predis hoặc tiện ích mở rộng Redis của HHVM (chỉ khi sử dụng HHVM thay cho PHP).
Đảm bảo rằng bạn định cấu hình Redis một cách hợp lý – không lưu trữ khối dữ liệu lớn trên mỗi khóa và giữ số lượng khóa hợp lý vì sẽ không có ích gì khi sử dụng bộ nhớ đệm cơ sở dữ liệu nếu bạn định thực hiện hàng nghìn lệnh gọi Redis, dẫn đến đối tượng dài hơn giao dịch bộ đệm.
Cho dù bạn sử dụng Memcached hay Redis, thì vẫn có một sự khác biệt quan trọng giữa hai loại này: Memcached là một hệ thống lưu trữ bộ nhớ đệm trong khi Redis là một máy chủ có cấu trúc dữ liệu thích hợp, cho phép sử dụng nó như một kho lưu trữ dữ liệu thực thay vì chỉ là một bộ đệm biến động. Hãy xem câu trả lời tuyệt vời này trên StackOverflow về lý do tại sao bạn nên sử dụng Redis trên Memcached nếu bạn chưa có thiết lập đầu tư lớn với hệ thống Memcached.
MariaDB là một nhánh của MySQL bởi một trong những người sáng lập và phát triển MySQL ban đầu sau khi được Oracle mua lại.
MariaDB nổi tiếng là nhanh hơn đáng kể, nhờ khả năng sao chép nhanh hơn và nhóm luồng cho phép hàng chục nghìn kết nối mà không làm chậm tốc độ I/O đáng chú ý. MariaDB cũng cung cấp nhiều công cụ lưu trữ hơn với sự thay thế giảm dần cho các công cụ lưu trữ phổ biến hơn như InnoDB.
Mặc dù Memcached không khả dụng để sử dụng với MariaDB, nhưng bạn có thể sử dụng Bộ đệm truy vấn tuyệt vời để thiết lập bộ nhớ đệm cơ sở dữ liệu với Maria DB.
Vậy bạn có nên chuyển sang MariaDB không? Đó là mã nguồn mở, nhanh hơn và nhìn chung cung cấp một số tính năng tuyệt vời. Nếu bạn có một trang web vừa và lớn, vâng, tôi chắc chắn sẽ giới thiệu nó. Nhưng nếu bạn đang sử dụng dịch vụ lưu trữ chia sẻ giá rẻ với một trang web nhỏ, thì nó không đáng để bỏ thời gian và công sức.
Cuối cùng, MariaDB là sở thích của tôi hơn MySQL, đặc biệt là do khả năng xử lý các kết nối của nó, điều đó có nghĩa là thông báo “Không thể thiết lập kết nối tới cơ sở dữ liệu” đáng sợ ít hơn . Điều đó không có nghĩa là MySQL không thể tự cải thiện đáng kể thông qua tối ưu hóa và bộ nhớ đệm mà tôi sẽ khám phá thêm bên dưới.
Lớp wpdbtrong WordPress là cốt lõi của tất cả các tương tác cơ sở dữ liệu giữa phần mềm cốt lõi và cơ sở dữ liệu của bạn. Nó cũng được sử dụng bởi cả plugin và chủ đề.
Điều quan trọng là phải luôn nhớ thoát các lệnh SQL của bạn để ngăn chặn các cuộc tấn công SQL injection. Trong vài năm qua, đã có nhiều trường hợp plugin nổi tiếng chứa mã SQL dễ bị tấn công và bị tin tặc khai thác.
Tôi sẽ không đi quá sâu vào chủ đề này. Thay vào đó, để đọc thêm, hãy xem mục nhập WordPress Codex trên lớp wpdb , thoát SQL trong WordPress và tạo các bảng tùy chỉnh trong plugin để có một khởi đầu tuyệt vời cho WordPress và lớp wpdb.
Hầu hết các máy chủ web cung cấp một số hình thức truy cập vào cơ sở dữ liệu của bạn, thường là phpMyAdmin, cung cấp giao diện người dùng đồ họa dễ sử dụng để làm việc với cơ sở dữ liệu của bạn.
phpMyAdmin là một công cụ được viết bằng PHP nhằm xử lý việc quản trị MySQL trên web.
Một mã nguồn mở và miễn phí để quản lý cơ sở dữ liệu. phpMyAdmin cung cấp một cách đơn giản để tối ưu hóa, sửa chữa, nhập, xuất và chạy các thao tác SQL trên cơ sở dữ liệu của bạn. Nó hoạt động với cả MySQL và MariaDB.
Navicat là một công cụ thiết kế và quản lý cơ sở dữ liệu cao cấp.
Navicat là một công cụ quản lý cơ sở dữ liệu đầy đủ tính năng cao cấp. Cùng với tất cả các tính năng tiêu chuẩn của bất kỳ công cụ quản lý cơ sở dữ liệu tốt nào, chẳng hạn như nhập/xuất, xem bảng, tối ưu hóa và sửa chữa, nó cũng cung cấp trình tạo/trình soạn thảo SQL và trình thiết kế đối tượng. Giống như phpMyAdmin, nó hoạt động với cả MySQL và MariaDB.
Cơ sở dữ liệu là một phần không thể thiếu của WordPress, cung cấp xương sống (hoặc tủ hồ sơ) cho trang web của bạn. Đảm bảo trang web của bạn chạy trơn tru, được tối ưu hóa và sao lưu thường xuyên có thể là một nhiệm vụ tốn thời gian, nhưng với kiến thức, công cụ và plugin phù hợp, việc quản lý cơ sở dữ liệu của bạn khá đơn giản và dễ thực hiện.
Nguồn: https://wpmudev.com
1678814400
Trong hướng dẫn về MySQL và WordPress này, chúng ta tìm hiểu về Cách cơ sở dữ liệu hoạt động với MySQL và WordPress. WordPress sử dụng MySQL, một hệ thống quản lý cơ sở dữ liệu nguồn mở, để lưu trữ và truy xuất tất cả thông tin trang web của bạn, từ nội dung bài đăng và trang đến nhận xét, tên người dùng và mật khẩu của bạn.
Nếu bạn cần hình dung nó, hãy coi cơ sở dữ liệu của trang web của bạn giống như một tủ hồ sơ và MySQL là công ty đã tạo ra nó.
MySQL là một lựa chọn cơ sở dữ liệu phổ biến cho các ứng dụng web – Joomla! và Drupal cũng sử dụng nó, và theo Wikipedia, rất nhiều công ty nổi tiếng như Google, Facebook, Twitter, Flickr và YouTube cũng sử dụng nó.
Vậy chính xác thì MySQL hoạt động với WordPress như thế nào? Trong bài viết này, tôi sẽ hướng dẫn bạn mọi thứ cần biết về MySQL và cách nó tương tác với WordPress, bao gồm kiến trúc cơ sở dữ liệu, công cụ lưu trữ, kỹ thuật tối ưu hóa và các phương pháp hay nhất để tối ưu hóa và quản lý cơ sở dữ liệu.
MySQL là thành phần trung tâm trong ngăn xếp LAMP của phần mềm ứng dụng web nguồn mở được sử dụng để tạo trang web. LAMP là viết tắt của Linux, Apache, MySQL và PHP. MySQL cũng được sử dụng trong ngăn xếp LEMP, thay thế Apache cho Nginx (phát âm là Engine-X).
WordPress sử dụng PHP để lưu trữ và truy xuất dữ liệu từ cơ sở dữ liệu MySQL, sử dụng các truy vấn SQL trong đánh dấu PHP. Ví dụ: nếu bạn là thành viên của trang web thành viên do WordPress cung cấp, thì SQL được sử dụng để đăng nhập cho bạn, truy xuất ID thành viên duy nhất của bạn, kiểm tra xem bạn có tư cách thành viên đang hoạt động hay không và đảm bảo dữ liệu hồ sơ chính xác được hiển thị ở mặt trước -kết thúc.
PHP và SQL hoạt động cùng với WordPress, cho phép bạn tạo nội dung động dựa trên nhiều yếu tố khác nhau, chẳng hạn như ID và vai trò người dùng của bạn. Điều này cho phép bạn thực hiện những việc như ẩn hoặc hiển thị nội dung cho những người dùng cụ thể, chẳng hạn như quản trị viên, người chỉnh sửa và người đăng ký. Nếu không có SQL và MySQL thì điều này sẽ không thể thực hiện được.
Các plugin và chủ đề cũng sử dụng cơ sở dữ liệu của bạn để lưu trữ dữ liệu, chẳng hạn như các tùy chọn, sau đó sử dụng SQL trong đánh dấu PHP để truy vấn cơ sở dữ liệu và xuất nội dung một cách linh hoạt.
Điều đáng nói là nếu bạn điều hành một trang web nhỏ (tức là một blog về con mèo của bạn), bạn thực sự không cần phải loay hoay với SQL. Chỉ khi bạn làm việc trên các trang web cấp doanh nghiệp thì kiến thức về SQL mới trở nên cần thiết.
Để giúp bạn hiểu chính xác cách WordPress hoạt động với MySQL, hãy xem qua các bảng mà WordPress lưu trữ trong cơ sở dữ liệu điển hình.
WordPress có một lược đồ cơ sở dữ liệu khá đơn giản và không phức tạp. Nó bao gồm 11 bảng, được sử dụng bởi các thành phần cốt lõi của WordPress và không thể bị xóa hoặc xóa.
wp_commentmeta – Lưu trữ siêu dữ liệu từ tất cả các nhận xét còn lại trên các bài đăng và trang WordPress của bạn, bao gồm các loại bài đăng tùy chỉnh.
wp_comments – Lưu trữ tất cả các nhận xét được đưa ra trên trang web của bạn, bao gồm các nhận xét đã xuất bản, bản nháp, đang chờ xử lý và spam.
wp_links – Giữ tất cả thông tin được nhập vào tính năng quản lý liên kết của WordPress, tính năng này hiện nay hiếm khi được sử dụng, với tính năng liên kết không còn được dùng nữa từ WordPress 3.5 và được ẩn theo mặc định trên các bản cài đặt mới.
wp_options – Không chỉ tất cả các tùy chọn WordPress được lưu trữ trong bảng này, chẳng hạn như cài đặt đọc và thảo luận của bạn, mà giờ đây, các plugin sử dụng wp_options để lưu trữ cài đặt đã lưu thay vì bảng tùy chỉnh ngày càng phổ biến hơn.
wp_postsmeta – Như bạn đã đoán, bảng này lưu trữ tất cả siêu dữ liệu được liên kết với các bài đăng và trang của bạn.
wp_posts – Lưu trữ tất cả các bài đăng của bạn, cũng như các trang của bạn và cả các mục điều hướng/menu của bạn.
wp_terms – Bảng này lưu trữ các danh mục cho bài đăng, liên kết và thẻ.
wp_term_relationships – Các bài đăng được liên kết với các danh mục và thẻ từ bảng wp_terms và liên kết này được duy trì trong bảng wp_term_relationships. Sự liên kết của các liên kết với các danh mục tương ứng của chúng cũng được lưu giữ trong bảng này.
wp_term_taxonomy – Mô tả phân loại chẳng hạn như danh mục, liên kết hoặc thẻ cho các mục trong wp_terms_table .
wp_usermeta – Lưu trữ siêu dữ liệu của tất cả người dùng từ bảng wp_users .
wp_users – Tất cả người dùng của bạn được lưu trữ trong bảng này. Hãy nhớ rằng, dữ liệu như mật khẩu được đánh số thứ tự.
Cơ sở dữ liệu cho cài đặt Nhiều trang được cấu trúc rất khác so với cơ sở dữ liệu của một trang web độc lập, vì vậy nếu bạn quản lý trang này hay trang kia hoặc cả hai thì điều quan trọng là bạn phải hiểu sự khác biệt để có thể quản lý trang web của mình một cách hiệu quả.
wp_blogs – Mỗi trang web được tạo trên mạng Nhiều trang được lưu trữ trong bảng này.
wp_blog_versions – Lưu trữ phiên bản cơ sở dữ liệu hiện tại của từng trang web trong mạng và chủ yếu được sử dụng trong quá trình cập nhật mạng của bạn. Nó được cập nhật khi mỗi trang web được nâng cấp.
wp_registration_log – Nhật ký người dùng quản trị viên tạo khi mỗi trang web mới được đăng ký.
wp_site – Bảng này chứa địa chỉ trang web chính.
wp_sitemeta – Mỗi trang web có dữ liệu trang web; bảng này lưu trữ dữ liệu trang web bao gồm các tùy chọn khác nhau bao gồm quản trị viên trang web.
wp_users – Chứa tất cả người dùng, trong khi trường này cũng được sử dụng trong cài đặt trên một trang web. Nó bao gồm hai trường/hàng bổ sung spam và bị xóa.
wp_usermeta – Khi sử dụng Nhiều trang web, bảng này lưu trữ siêu dữ liệu của người dùng cho từng trang web (đây không phải là bản tạo lại wp_usermeta trong một lần cài đặt trang web).
Các bảng dành riêng cho trang web cũng được thêm vào cơ sở dữ liệu của bạn, tức là wp_2_commentmeta, wp_2_comments, wp_2_links . Dữ liệu trang web chính của bạn được lưu trữ trong các bảng không được đánh số hiện có và các trang web tiếp theo có dữ liệu được lưu trữ trong các bảng được đánh số theo cấu trúc đặt tên của các bảng trang web chính.
Khi bạn cài đặt plugin, nó sẽ sử dụng cơ sở dữ liệu của bạn để lưu trữ và truy xuất dữ liệu liên quan đến plugin đó. Ví dụ: một plugin trường tùy chỉnh sẽ lưu các trường mà nó tạo vào cơ sở dữ liệu và sau đó truy xuất chúng để hiển thị trên các bài đăng được liên kết. Nếu không có cơ sở dữ liệu, plugin sẽ không thể lưu trữ bất kỳ trường nào nó tạo, liên kết trường với giá trị bài đăng hoặc truy vấn để hiển thị trên giao diện người dùng.
Các plugin có thể sử dụng các bảng cơ sở dữ liệu mặc định của WordPress, chẳng hạn như wp_posts hoặc wp_postsmeta hoặc tạo các bảng tùy chỉnh. Một ví dụ phổ biến về plugin tạo bảng riêng là WooC Commerce, tạo tám bảng tùy chỉnh để lưu trữ và truy xuất ID sản phẩm, mặt hàng đặt hàng, thuế suất và thông tin sản phẩm khác.
Nếu bạn lo lắng về việc plugin tạo bảng trong cơ sở dữ liệu của mình, đừng lo lắng – việc plugin làm điều này là bình thường. Mặc dù bạn nên sử dụng các bảng hiện có, chẳng hạn như wp_options , để lưu trữ dữ liệu plugin, nhưng không phải lúc nào cũng có thể, đặc biệt là với các plugin phức tạp hơn như WooC Commerce.
Lưu ý: Bạn nên xóa các bảng tùy chỉnh khỏi cơ sở dữ liệu của mình khi xóa plugin khỏi trang web của mình, nếu không, trong suốt thời gian cài đặt, bạn sẽ tích lũy một tập hợp các bảng không sử dụng trong cơ sở dữ liệu của mình. Một số plugin đi kèm với tùy chọn tự động xóa tất cả dữ liệu được liên kết với plugin khi bạn gỡ cài đặt nó. Hãy nhớ rằng bạn chỉ nên xóa các bảng tùy chỉnh khi bạn hoàn toàn chắc chắn rằng mình sẽ không sử dụng lại một phần bổ trợ cụ thể vì sẽ không thể quay lại.
MySQL sử dụng các công cụ lưu trữ để lưu trữ, xử lý và truy xuất thông tin từ một bảng. Mặc dù MySQL cung cấp hỗ trợ cho 13 công cụ lưu trữ khác nhau, hai tùy chọn được sử dụng phổ biến nhất là MyISAM và InnoDB.
Hầu hết thời gian, công cụ lưu trữ mặc định như được xác định trong tệp cấu hình MySQL của bạn thường là MyISAM và đây là công cụ mà mọi người thường sử dụng. Vì nhiều người không bận tâm dành thời gian để chọn một công cụ lưu trữ, họ chỉ sử dụng mặc định.
Nếu bạn quyết định chọn một công cụ lưu trữ, thì với WordPress, quyết định đó sẽ dễ dàng hơn một chút – trong khi MyISAM có thể đọc nhanh hơn, thì InnoDB lại nhanh hơn cho cả đọc và viết nhờ cơ chế khóa hàng của nó. Vì WordPress phụ thuộc rất nhiều vào cả đọc và viết, nên InnoDB là lựa chọn tốt nhất.
Điều đáng chú ý là theo mặc định, các bảng được tạo trong phpMyAdmin sử dụng công cụ lưu trữ MyISAM. Thông thường, điều này có nghĩa là nếu bạn sử dụng dịch vụ lưu trữ chia sẻ hoặc máy chủ lưu trữ WordPress không chuyên, các bảng của bạn sẽ sử dụng MyISAM thay vì InnoDB. Nếu bạn muốn thay đổi công cụ lưu trữ của mình, bạn có thể sử dụng truy vấn SQL sau (bạn có thể thực thi truy vấn này trong công cụ quản lý cơ sở dữ liệu yêu thích của mình, chẳng hạn như phpMyAdmin):
SET default_storage_engine=InnoDB;
Lưu ý: Vì một số lý do vô cùng kỳ lạ, các bảng được tạo trong/bởi phpMyAdmin theo mặc định sử dụng MyISAM. Điều này có nghĩa là nếu bạn sử dụng dịch vụ lưu trữ chia sẻ hoặc máy chủ lưu trữ không chuyên, các bảng của bạn sẽ là MyISAM. Đừng sợ! Bạn có thể thay đổi công cụ đang được sử dụng bởi cơ sở dữ liệu của mình. Để thay đổi một bảng, bạn có thể sử dụng:
ALTER TABLE table_name ENGINE=InnoDB;
Thay đổi từng bảng công cụ lưu trữ có thể là một quá trình tốn thời gian, trong trường hợp đó, bạn có thể muốn xem qua hướng dẫn tuyệt vời của Pantheon .
Bây giờ bạn có thể đang nghĩ, “Tuyệt vời! Nhưng còn các plugin tạo bảng tùy chỉnh thì sao – chúng sử dụng công cụ nào?” Câu trả lời là: Họ có thể sử dụng hỗn hợp. Một số khai báo các câu lệnh SQL để sử dụng InnoDB, trong khi một số khác sử dụng MyISAM. Nhìn chung, tốt nhất bạn nên theo dõi cơ sở dữ liệu của mình sau khi cài đặt plugin mới tạo bảng tùy chỉnh và kiểm tra công cụ MySQL nào đang sử dụng.
Lớp này WP_Querylà một truy vấn WordPress cực kỳ mạnh mẽ mà bạn có thể sử dụng để truy cập các bài đăng trong cơ sở dữ liệu của mình. Chúng tôi đã đề cập WP_Queryrất nhiều trên blog này trước đây, vì vậy tôi thực sự chỉ chỉ ra nó ở đây.
Để có hướng dẫn toàn diện hơn về WP_Query, hãy xem bài đăng của chúng tôi Hướng dẫn chuyên sâu để chinh phục WP_Query .
Một trong những lý do phổ biến nhất khiến trang web chậm là do cơ sở dữ liệu không được tối ưu hóa được duy trì kém.
Chúng ta đã xem xét những lợi ích của việc chọn một công cụ cơ sở dữ liệu và bây giờ chúng ta sẽ xem xét cách bạn có thể loại bỏ một số nội dung rác được lưu trữ trên trang web của mình để làm cho trang web gọn gàng hơn.
Để có hướng dẫn toàn diện về cách tối ưu hóa cơ sở dữ liệu của bạn, hãy xem hướng dẫn của chúng tôi Tối ưu hóa cơ sở dữ liệu WordPress của bạn – Hướng dẫn đầy đủ .
Trước khi bạn bắt đầu tối ưu hóa cơ sở dữ liệu của mình, bạn nên tạo một bản sao lưu đầy đủ trước trong trường hợp bạn gặp bất kỳ rắc rối nào. Tôi thực sự khuyên dùng Snapshot Pro , plugin sao lưu của chúng tôi. Nó có thể sao lưu và khôi phục toàn bộ trang web của bạn chỉ bằng một cú nhấp chuột, hoàn chỉnh với tích hợp Dropbox và S3.
Snapshot Pro cho phép bạn sao lưu trang web WordPress của mình một cách nhanh chóng và dễ dàng để phục hồi sau này trong trường hợp khẩn cấp. An toàn tốt hơn là xin lỗi!
Một cách đơn giản để tối ưu hóa cơ sở dữ liệu của bạn mà không thực sự làm bất cứ điều gì là cài đặt các phần bổ trợ mà bạn sẽ sử dụng và không cài đặt phần bổ trợ chỉ vì mục đích cài đặt phần bổ trợ. Thật dễ dàng bị lôi cuốn vào việc kích hoạt các plugin mới sáng bóng! Chỉ cần nhớ rằng đối với mỗi plugin bạn cài đặt, dữ liệu mới sẽ được tạo và lần lượt sẽ lấp đầy cơ sở dữ liệu của bạn.
Có những plugin được biết đến với việc lưu trữ lượng dữ liệu đáng kể và những plugin này thường thuộc bốn loại:
Vậy bạn có nên ngừng sử dụng các plugin trên không? Có và không. Mặc dù bạn nên hết sức coi trọng vấn đề spam và bảo mật trang web của mình, trừ khi cần thiết cho loại trang web bạn chạy, hãy cố gắng tránh các plugin thống kê và loại bài đăng phổ biến.
Nhận xét spam là một trong những nguyên nhân chính của cơ sở dữ liệu cồng kềnh nếu không được duy trì đúng cách. Tôi đã thấy các trang web có hàng chục nghìn bình luận spam. May mắn thay, việc loại bỏ chúng không thể đơn giản hơn.
Hoặc chạy một lệnh SQL như thế này:
DELETE FROM wp_comments WHERE comment_approved = ‘spam'
Hoặc, nếu bạn đăng nhập vào bảng điều khiển WordPress của mình và đi tới Nhận xét > Thư rác, bạn sẽ thấy nút “Dọn sạch thư rác”. Nhấp vào nó và mọi nhận xét spam về bản cài đặt của bạn sẽ biến mất vĩnh viễn. Trước khi bạn xóa bất kỳ nhận xét spam nào, hãy đảm bảo kiểm tra xem chúng có thực sự là spam hay không. Bình luận thường bị đánh dấu là spam trong khi thực tế chúng là thật.
Nếu bạn không muốn xử lý thư rác theo cách thủ công, plugin phổ biến nhất để ngăn chặn thư rác đang phát triển là Akismet, plugin này cho phép bạn đặt các nhận xét spam thành tự động bị xóa.
WordPress 2.6 đã giới thiệu tính năng sửa đổi bài đăng, cho phép bạn lưu trữ các phiên bản trước của bài đăng, tức là lưu tất cả các bản nháp và bản cập nhật. Trái ngược với suy nghĩ của nhiều người, chỉ có một bản lưu tự động được giữ cho mỗi bài đăng, tự động xóa phiên bản lưu tự động cũ. Điều này có nghĩa là bảng của bạn sẽ không tiếp tục phát triển với lưu tự động. Tuy nhiên, bảng của bạn sẽ tăng lên mỗi khi bạn nhấp vào “Cập nhật” trên bài đăng của mình hoặc lưu bản nháp mới.
Mặc dù các bản sửa đổi rất hữu ích và cá nhân tôi sẽ không tắt chúng, cũng như không khuyên bạn nên tắt chúng, nhưng bạn có thể tiết kiệm dung lượng trong cơ sở dữ liệu của mình bằng cách xóa các bản sửa đổi cũ. Để giữ số lượng sửa đổi tối đa, bạn có thể thêm một định nghĩa tiện dụng vào tệp wp-config.php của mình:
define( 'WP_POST_REVISIONS', 5 );
Chỉ cần thay đổi số thành bao nhiêu bản sửa đổi mà bạn muốn giữ lại. Nhập 1 hoặc nhiều lưu trữ số lượng bản sửa đổi cộng với lưu tự động, -1 lưu trữ mọi bản sửa đổi và 0 đặt thành false và không lưu trữ bản sửa đổi nào ngoại trừ lưu tự động.
Để xóa các bản sửa đổi khỏi các bài đăng hiện có, bạn cần chạy lệnh SQL để xóa chúng hoặc sử dụng plugin tối ưu hóa WordPress để xóa chúng. Nếu bạn muốn sử dụng SQL, bạn có thể chạy một lệnh như sau:
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Truy vấn này xóa tất cả các sửa đổi bài đăng khỏi các bài đăng đó nhưng cũng xóa tất cả meta và các nguyên tắc phân loại liên quan. Tuy nhiên, hãy nhớ rằng thao tác này sẽ xóa tất cả các bản sửa đổi chứ không chỉ một số bản sửa đổi.
Nếu bạn muốn sử dụng plugin để xóa bản sửa đổi, hãy xem Tối ưu hóa cơ sở dữ liệu sau khi xóa bản sửa đổi . Nó không chỉ cho phép bạn xóa các bản sửa đổi mà còn có khả năng tương thích với nhiều trang và cho phép bạn xóa những thứ như thẻ không sử dụng, meta bài đăng mồ côi và hơn thế nữa.
Các plugin tạo bảng tùy chỉnh thường không xóa chúng khi gỡ cài đặt. Nếu bạn xóa plugin và không định sử dụng lại plugin đó, bạn sẽ muốn xóa bảng mà nó tạo. Mặc dù có những phần bổ trợ như WPDBSpringClean có thể làm việc này cho bạn, nhưng nó đã không được cập nhật trong hơn hai năm và nói chung, bạn không nên sử dụng phần bổ trợ để xóa bảng.
Không có cách nào dễ dàng để biết bảng cơ sở dữ liệu nào không được sử dụng, mặc dù thông thường các plugin đặt tên cho các bảng của chúng bằng tên của plugin hoặc lớp chính của plugin khiến chúng dễ tìm hơn. Tất nhiên, như tôi đã đề cập, trước khi bạn xóa bảng hoặc sửa đổi cơ sở dữ liệu của mình, hãy đảm bảo tạo một bản sao lưu đầy đủ.
MySQL đi kèm với một truy vấn TỐI ƯU, theo hướng dẫn chính thức, “Tổ chức lại bộ lưu trữ vật lý của dữ liệu bảng và dữ liệu chỉ mục được liên kết, để giảm dung lượng lưu trữ và cải thiện hiệu quả I/O khi truy cập bảng.” Những thay đổi chính xác được thực hiện cho mỗi bảng phụ thuộc vào công cụ lưu trữ được sử dụng bởi bảng đó.
Bạn có thể chạy truy vấn TỐI ƯU HÓA bằng công cụ quản lý cơ sở dữ liệu, chẳng hạn như phpMyAdmin.
Nếu bạn muốn một plugin làm tất cả công việc cho bạn, thì WP-Optimize là một tùy chọn miễn phí phổ biến đang hoạt động trên hơn 500.000 lượt cài đặt WordPress. Nó có thể xóa các bản sửa đổi bài đăng, siêu dữ liệu cũ, bài đăng nháp và cũng có thể xóa hàng loạt nhận xét đã chuyển vào thùng rác.
Nó cũng có thể áp dụng truy vấn TỐI ƯU HÓA gốc mà bạn không cần phải sử dụng công cụ quản lý cơ sở dữ liệu hoặc truy vấn thủ công trong công cụ quản lý cơ sở dữ liệu của mình. Quá dễ dàng!
Nếu cơ sở dữ liệu của bạn bị hỏng vì bất kỳ lý do gì, đừng hoảng sợ! Bạn có thể chỉnh sửa tệp wp-config.php của mình để sửa nó:
define('WP_ALLOW_REPAIR', true);
Khi bạn đã lưu tệp của mình, hãy khởi động trình duyệt của bạn và truy cập www.example.com/wp-admin/maint/repair.php
Trên màn hình sửa chữa, bạn có thể sửa chữa cơ sở dữ liệu của mình hoặc sửa chữa và tối ưu hóa cơ sở dữ liệu của mình. Khi bạn đã chọn một trong hai tùy chọn, WordPress sẽ thử và tự động sửa chữa cơ sở dữ liệu của bạn.
Đôi khi sửa chữa cơ sở dữ liệu của bạn theo cách này không hoạt động hoặc chỉ hoạt động một phần. Trong trường hợp này, hãy mở phpMyAdmin và thử sửa chữa từng bảng cơ sở dữ liệu của bạn.
Nhưng nếu sửa chữa cơ sở dữ liệu của bạn theo cách đó cũng không hoạt động thì sao? Trừ khi bạn là một chuyên gia phục hồi dữ liệu và ninja SQL, đây là điểm mà bạn cần dùng đến việc khôi phục bản sao lưu trước đó của trang web nếu bạn có.
Tôi có thể nói mãi về bộ nhớ đệm và WordPress vì có rất nhiều điều cần biết, nhưng đối với bài viết này, tôi sẽ đề cập đến những điều quan trọng nhất mà bạn cần biết.
API tạm thời rất giống với API tùy chọn trong WordPress (một cách lưu trữ dữ liệu đơn giản và được tiêu chuẩn hóa trong cơ sở dữ liệu giúp dễ dàng tạo, truy cập, cập nhật và xóa các tùy chọn), nhưng có thêm tính năng về thời gian hết hạn, giúp đơn giản hóa quá trình sử dụng bảng cơ sở dữ liệu wp_options để lưu trữ tạm thời thông tin được lưu trong bộ nhớ cache.
Trong WordPress, bạn có thể sử dụng tạm thời cho dữ liệu thay đổi liên tục mà bạn muốn hết hạn và cập nhật, nhưng cũng có thể thay thế cho các truy vấn cơ sở dữ liệu chuyên sâu hơn mà bạn muốn lưu vào bộ đệm.
Một nhược điểm là quá độ được mã hóa kém; có thể tạm thời có thời gian hết hạn nhưng không được đặt thành bị xóa, dẫn đến việc cố gắng tải tạm thời nhưng không tồn tại. Ngoài ra, chủ sở hữu trang web cài đặt plugin xóa tạm thời đã trở nên phổ biến; xóa các phần tạm thời được sử dụng bởi plugin và chủ đề không nên xóa có thể gây ra nhiều sự cố cho trang web của bạn.
Cuối cùng, bạn chỉ nên xóa các phần tạm thời nếu bạn biết chính xác mình đang làm gì và chúng dùng để làm gì – đừng chỉ xóa hàng loạt tất cả các phần tạm thời vì rất có thể bạn sẽ kết thúc với một trang web bị hỏng.
Sử dụng Memcached trên trang web của bạn cho phép bạn tăng tốc các truy vấn cơ sở dữ liệu chuyên sâu (dữ liệu và đối tượng) trong RAM để giảm số lần đọc trên cơ sở dữ liệu của bạn. Điều này cho phép các trang của bạn được tải nhanh hơn vì dữ liệu đã có ở đó mà không cần phải thực hiện truy vấn.
Một nhược điểm, giống như tất cả bộ nhớ đệm, là nếu bạn cập nhật bài đăng/trang/trang web của mình và nó đã được lưu vào bộ đệm, bạn sẽ cần xóa bộ đệm trước khi các thay đổi được hiển thị.
Một sai lầm mà nhiều người thường mắc phải với Memcaching là cài đặt một plugin chẳng hạn như W3 Total Cache, thấy cài đặt cho Memcache và kích hoạt nó mà không thực sự thiết lập Memcached. Bạn không thể chỉ đặt tùy chọn mà không định cấu hình phía cơ sở dữ liệu/máy chủ Memcached trước! Một Memcached được định cấu hình không chính xác (hoặc bất kỳ bộ nhớ đệm đối tượng nào, đối với vấn đề đó) có thể tàn phá trang web và cơ sở dữ liệu của bạn, gây ra sự cố nhất thời trong số những vấn đề khác gây ra sự cố với các bản cập nhật tự động và plugin/chủ đề dựa vào tạm thời.
Không còn nghi ngờ gì nữa, phương pháp yêu thích của tôi về bộ nhớ đệm điều khiển cơ sở dữ liệu với WordPress là Redis, phương pháp này tạo ra sự khác biệt lớn về thời gian tải trang. Không giống như Memcached, Redis có tính bền bỉ tích hợp sẵn; Giống như Memcached, Redis cũng là một kho lưu trữ cấu trúc dữ liệu trong bộ nhớ (lưu trữ dữ liệu của bạn trong RAM).
Bạn có thể sử dụng plugin Redis Object Cache để kết nối Redis với trang web WordPress của mình. Tuy nhiên, hãy nhớ rằng trước tiên bạn cần thiết lập Redis và định cấu hình bộ nhớ đệm của mình. Một cách bạn có thể làm điều này là sử dụng tập lệnh Predis hoặc tiện ích mở rộng Redis của HHVM (chỉ khi sử dụng HHVM thay cho PHP).
Đảm bảo rằng bạn định cấu hình Redis một cách hợp lý – không lưu trữ khối dữ liệu lớn trên mỗi khóa và giữ số lượng khóa hợp lý vì sẽ không có ích gì khi sử dụng bộ nhớ đệm cơ sở dữ liệu nếu bạn định thực hiện hàng nghìn lệnh gọi Redis, dẫn đến đối tượng dài hơn giao dịch bộ đệm.
Cho dù bạn sử dụng Memcached hay Redis, thì vẫn có một sự khác biệt quan trọng giữa hai loại này: Memcached là một hệ thống lưu trữ bộ nhớ đệm trong khi Redis là một máy chủ có cấu trúc dữ liệu thích hợp, cho phép sử dụng nó như một kho lưu trữ dữ liệu thực thay vì chỉ là một bộ đệm biến động. Hãy xem câu trả lời tuyệt vời này trên StackOverflow về lý do tại sao bạn nên sử dụng Redis trên Memcached nếu bạn chưa có thiết lập đầu tư lớn với hệ thống Memcached.
MariaDB là một nhánh của MySQL bởi một trong những người sáng lập và phát triển MySQL ban đầu sau khi được Oracle mua lại.
MariaDB nổi tiếng là nhanh hơn đáng kể, nhờ khả năng sao chép nhanh hơn và nhóm luồng cho phép hàng chục nghìn kết nối mà không làm chậm tốc độ I/O đáng chú ý. MariaDB cũng cung cấp nhiều công cụ lưu trữ hơn với sự thay thế giảm dần cho các công cụ lưu trữ phổ biến hơn như InnoDB.
Mặc dù Memcached không khả dụng để sử dụng với MariaDB, nhưng bạn có thể sử dụng Bộ đệm truy vấn tuyệt vời để thiết lập bộ nhớ đệm cơ sở dữ liệu với Maria DB.
Vậy bạn có nên chuyển sang MariaDB không? Đó là mã nguồn mở, nhanh hơn và nhìn chung cung cấp một số tính năng tuyệt vời. Nếu bạn có một trang web vừa và lớn, vâng, tôi chắc chắn sẽ giới thiệu nó. Nhưng nếu bạn đang sử dụng dịch vụ lưu trữ chia sẻ giá rẻ với một trang web nhỏ, thì nó không đáng để bỏ thời gian và công sức.
Cuối cùng, MariaDB là sở thích của tôi hơn MySQL, đặc biệt là do khả năng xử lý các kết nối của nó, điều đó có nghĩa là thông báo “Không thể thiết lập kết nối tới cơ sở dữ liệu” đáng sợ ít hơn . Điều đó không có nghĩa là MySQL không thể tự cải thiện đáng kể thông qua tối ưu hóa và bộ nhớ đệm mà tôi sẽ khám phá thêm bên dưới.
Lớp wpdbtrong WordPress là cốt lõi của tất cả các tương tác cơ sở dữ liệu giữa phần mềm cốt lõi và cơ sở dữ liệu của bạn. Nó cũng được sử dụng bởi cả plugin và chủ đề.
Điều quan trọng là phải luôn nhớ thoát các lệnh SQL của bạn để ngăn chặn các cuộc tấn công SQL injection. Trong vài năm qua, đã có nhiều trường hợp plugin nổi tiếng chứa mã SQL dễ bị tấn công và bị tin tặc khai thác.
Tôi sẽ không đi quá sâu vào chủ đề này. Thay vào đó, để đọc thêm, hãy xem mục nhập WordPress Codex trên lớp wpdb , thoát SQL trong WordPress và tạo các bảng tùy chỉnh trong plugin để có một khởi đầu tuyệt vời cho WordPress và lớp wpdb.
Hầu hết các máy chủ web cung cấp một số hình thức truy cập vào cơ sở dữ liệu của bạn, thường là phpMyAdmin, cung cấp giao diện người dùng đồ họa dễ sử dụng để làm việc với cơ sở dữ liệu của bạn.
phpMyAdmin là một công cụ được viết bằng PHP nhằm xử lý việc quản trị MySQL trên web.
Một mã nguồn mở và miễn phí để quản lý cơ sở dữ liệu. phpMyAdmin cung cấp một cách đơn giản để tối ưu hóa, sửa chữa, nhập, xuất và chạy các thao tác SQL trên cơ sở dữ liệu của bạn. Nó hoạt động với cả MySQL và MariaDB.
Navicat là một công cụ thiết kế và quản lý cơ sở dữ liệu cao cấp.
Navicat là một công cụ quản lý cơ sở dữ liệu đầy đủ tính năng cao cấp. Cùng với tất cả các tính năng tiêu chuẩn của bất kỳ công cụ quản lý cơ sở dữ liệu tốt nào, chẳng hạn như nhập/xuất, xem bảng, tối ưu hóa và sửa chữa, nó cũng cung cấp trình tạo/trình soạn thảo SQL và trình thiết kế đối tượng. Giống như phpMyAdmin, nó hoạt động với cả MySQL và MariaDB.
Cơ sở dữ liệu là một phần không thể thiếu của WordPress, cung cấp xương sống (hoặc tủ hồ sơ) cho trang web của bạn. Đảm bảo trang web của bạn chạy trơn tru, được tối ưu hóa và sao lưu thường xuyên có thể là một nhiệm vụ tốn thời gian, nhưng với kiến thức, công cụ và plugin phù hợp, việc quản lý cơ sở dữ liệu của bạn khá đơn giản và dễ thực hiện.
Nguồn: https://wpmudev.com
1595905879
HTML to Markdown
MySQL is the all-time number one open source database in the world, and a staple in RDBMS space. DigitalOcean is quickly building its reputation as the developers cloud by providing an affordable, flexible and easy to use cloud platform for developers to work with. MySQL on DigitalOcean is a natural fit, but what’s the best way to deploy your cloud database? In this post, we are going to compare the top two providers, DigitalOcean Managed Databases for MySQL vs. ScaleGrid MySQL hosting on DigitalOcean.
At a glance – TLDR
ScaleGrid Blog - At a glance overview - 1st pointCompare Throughput
ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads. Read now
ScaleGrid Blog - At a glance overview - 2nd pointCompare Latency
On average, ScaleGrid achieves almost 30% lower latency over DigitalOcean for the same deployment configurations. Read now
ScaleGrid Blog - At a glance overview - 3rd pointCompare Pricing
ScaleGrid provides 30% more storage on average vs. DigitalOcean for MySQL at the same affordable price. Read now
MySQL DigitalOcean Performance Benchmark
In this benchmark, we compare equivalent plan sizes between ScaleGrid MySQL on DigitalOcean and DigitalOcean Managed Databases for MySQL. We are going to use a common, popular plan size using the below configurations for this performance benchmark:
Comparison Overview
ScaleGridDigitalOceanInstance TypeMedium: 4 vCPUsMedium: 4 vCPUsMySQL Version8.0.208.0.20RAM8GB8GBSSD140GB115GBDeployment TypeStandaloneStandaloneRegionSF03SF03SupportIncludedBusiness-level support included with account sizes over $500/monthMonthly Price$120$120
As you can see above, ScaleGrid and DigitalOcean offer the same plan configurations across this plan size, apart from SSD where ScaleGrid provides over 20% more storage for the same price.
To ensure the most accurate results in our performance tests, we run the benchmark four times for each comparison to find the average performance across throughput and latency over read-intensive workloads, balanced workloads, and write-intensive workloads.
Throughput
In this benchmark, we measure MySQL throughput in terms of queries per second (QPS) to measure our query efficiency. To quickly summarize the results, we display read-intensive, write-intensive and balanced workload averages below for 150 threads for ScaleGrid vs. DigitalOcean MySQL:
ScaleGrid MySQL vs DigitalOcean Managed Databases - Throughput Performance Graph
For the common 150 thread comparison, ScaleGrid averages almost 40% higher throughput over DigitalOcean for MySQL, with up to 46% higher throughput in write-intensive workloads.
#cloud #database #developer #digital ocean #mysql #performance #scalegrid #95th percentile latency #balanced workloads #developers cloud #digitalocean droplet #digitalocean managed databases #digitalocean performance #digitalocean pricing #higher throughput #latency benchmark #lower latency #mysql benchmark setup #mysql client threads #mysql configuration #mysql digitalocean #mysql latency #mysql on digitalocean #mysql throughput #performance benchmark #queries per second #read-intensive #scalegrid mysql #scalegrid vs. digitalocean #throughput benchmark #write-intensive
1621916889
Hire WordPress developers from IndianAppDevelopers on an hourly or full-time basis to build advanced custom WordPress applications. Our WordPress developers have 5+ years of experience building websites, themes and plugins for small- and large-scale businesses.
You can hire highly knowledgeable WordPress developers in India from us to maintain and deliver the highest quality standards on-time solutions.
Looking to outsource a WordPress development project? Or want to hire WordPress developers? Then, get in touch with us.
#wordpress development india #hire wordpress developers india #wordpress development #wordpress developers #wordpress programmers #hire wordpress programmers
1620729846
Can you use WordPress for anything other than blogging? To your surprise, yes. WordPress is more than just a blogging tool, and it has helped thousands of websites and web applications to thrive. The use of WordPress powers around 40% of online projects, and today in our blog, we would visit some amazing uses of WordPress other than blogging.
What Is The Use Of WordPress?
WordPress is the most popular website platform in the world. It is the first choice of businesses that want to set a feature-rich and dynamic Content Management System. So, if you ask what WordPress is used for, the answer is – everything. It is a super-flexible, feature-rich and secure platform that offers everything to build unique websites and applications. Let’s start knowing them:
1. Multiple Websites Under A Single Installation
WordPress Multisite allows you to develop multiple sites from a single WordPress installation. You can download WordPress and start building websites you want to launch under a single server. Literally speaking, you can handle hundreds of sites from one single dashboard, which now needs applause.
It is a highly efficient platform that allows you to easily run several websites under the same login credentials. One of the best things about WordPress is the themes it has to offer. You can simply download them and plugin for various sites and save space on sites without losing their speed.
2. WordPress Social Network
WordPress can be used for high-end projects such as Social Media Network. If you don’t have the money and patience to hire a coder and invest months in building a feature-rich social media site, go for WordPress. It is one of the most amazing uses of WordPress. Its stunning CMS is unbeatable. And you can build sites as good as Facebook or Reddit etc. It can just make the process a lot easier.
To set up a social media network, you would have to download a WordPress Plugin called BuddyPress. It would allow you to connect a community page with ease and would provide all the necessary features of a community or social media. It has direct messaging, activity stream, user groups, extended profiles, and so much more. You just have to download and configure it.
If BuddyPress doesn’t meet all your needs, don’t give up on your dreams. You can try out WP Symposium or PeepSo. There are also several themes you can use to build a social network.
3. Create A Forum For Your Brand’s Community
Communities are very important for your business. They help you stay in constant connection with your users and consumers. And allow you to turn them into a loyal customer base. Meanwhile, there are many good technologies that can be used for building a community page – the good old WordPress is still the best.
It is the best community development technology. If you want to build your online community, you need to consider all the amazing features you get with WordPress. Plugins such as BB Press is an open-source, template-driven PHP/ MySQL forum software. It is very simple and doesn’t hamper the experience of the website.
Other tools such as wpFoRo and Asgaros Forum are equally good for creating a community blog. They are lightweight tools that are easy to manage and integrate with your WordPress site easily. However, there is only one tiny problem; you need to have some technical knowledge to build a WordPress Community blog page.
4. Shortcodes
Since we gave you a problem in the previous section, we would also give you a perfect solution for it. You might not know to code, but you have shortcodes. Shortcodes help you execute functions without having to code. It is an easy way to build an amazing website, add new features, customize plugins easily. They are short lines of code, and rather than memorizing multiple lines; you can have zero technical knowledge and start building a feature-rich website or application.
There are also plugins like Shortcoder, Shortcodes Ultimate, and the Basics available on WordPress that can be used, and you would not even have to remember the shortcodes.
5. Build Online Stores
If you still think about why to use WordPress, use it to build an online store. You can start selling your goods online and start selling. It is an affordable technology that helps you build a feature-rich eCommerce store with WordPress.
WooCommerce is an extension of WordPress and is one of the most used eCommerce solutions. WooCommerce holds a 28% share of the global market and is one of the best ways to set up an online store. It allows you to build user-friendly and professional online stores and has thousands of free and paid extensions. Moreover as an open-source platform, and you don’t have to pay for the license.
Apart from WooCommerce, there are Easy Digital Downloads, iThemes Exchange, Shopify eCommerce plugin, and so much more available.
6. Security Features
WordPress takes security very seriously. It offers tons of external solutions that help you in safeguarding your WordPress site. While there is no way to ensure 100% security, it provides regular updates with security patches and provides several plugins to help with backups, two-factor authorization, and more.
By choosing hosting providers like WP Engine, you can improve the security of the website. It helps in threat detection, manage patching and updates, and internal security audits for the customers, and so much more.
#use of wordpress #use wordpress for business website #use wordpress for website #what is use of wordpress #why use wordpress #why use wordpress to build a website
1598079567
Whether you want to develop a blog or you want a feature-rich, interactive WordPress website?
HourlyDeveloper.io is a distinguished leader in the WordPress development market. Hire WordPress Developer that develop easy-to-manage and high-performance WordPress websites that deliver the kind of results you have always wished for!
Consult with experts: https://bit.ly/3hiHIqj
#hire wordpress developer #wordpress #wordpress developer #wordpress development company #wordpress development services #wordpress development