Chào các bạn, hôm nay Websitequangngai sẽ hướng dẫn cho các bạn cách fix lỗi “The YARPP database has an error which could not be fixed.” của plugin Yarpp.

yarpp

Trong bài viết trước đây mình đã giới thiệu về plugin tự động tạo bài viết liên quan thông minh nhất là Yarpp ( Yet Another Related Post). Vừa qua, mình có cài plugin này để test trên localhost cho website In Việt Phát trước khi up lên host cho khách, bình thường thì khi up lên và thay đổi toàn bộ link localhost thành invietphat.com thì plugin yarpp sẽ hoạt động tốt. Nhưng vì một lý do khách quan mà khi up lên host thì bị báo lỗi “The YARPP database has an error which could not be fixed.” , nguyên nhân có thể là do plugin cache database gây ra lỗi này, hoặc do thao tác sai trong quá trình cài đặt plugin yarpp và cài đặt WordPress.

Thế nhưng thật ra bản chất của vấn đề không phải là ở những lý do trên, mà là do phiên bản phpMyadmin của bạn sử dụng tuy có thể là mới nhất, hoặc không hề lỗi thời mà là do kiểu dữ liệu được định dạng (storage engine) của bạn không tương thích với cơ chết hoạt động của Yarpp.

Để mình liệt kê cho các bạn nhé, thông thường sẽ có các storage engine như sau: innoDB, MRG_MYISAM, BLACKHOLE, CSV, MEMORY, ARCHIVE, và MyISAM. Đa phần phiên bản php của bạn khi tạo ra các bảng (table) sql sẽ có dạng innoDB . Để tìm hiểu việc nên dùng storage engine innoDB hay MyISam thì mình sẽ có một bài viết riêng.

Khi cài Yarpp vào website của bạn, nó sẽ tự động sinh ra một table có tên: wp_yarpp_related_cache .

yarpp-cache yarpp related cache
yarpp related cache

Yarpp sẽ lấy dữ liệu từ table wp_post để thực hiện các truy vấn và cho phép hiển thị bài viết liên quan một cách thông minh nhất. Nhưng khi database của bạn là InnoDB cho cả hai table này thì sẽ có thể xuất hiện lỗi “The YARPP database has an error which could not be fixed.” nguyên nhân là Yarpp không hỗ trợ storage engine InnoDB mà chỉ hỗ trợ MyISAM .

Vậy làm sao để ta có thể thay đổi kiểu storage engine từ InnoDB qua MyISAM? Có hai cách để thực hiện việc này, nếu bạn là người từ học ngôn ngữ php và mysql thì bạn sẽ có thể câu lệnh để truy vấn, còn nếu bạn là người không biết gì về việc này thì bạn có thể dùng thao tác người dùng trên table là được.

Đăng ký tư vấn thiết kế và phát triển website qua số: Hotline: 0702 4400 74 hoặc Email: pvonlinevn@gmail.com

Đăng nhập vào tài khoản phpMyadmin của website bạn, nếu bạn muốn thực hiện truy vấn đổi kiểu storage engine thì bạn gõ nút SQL trên thanh công cụ với dòng lệnh như sau:

[php]
ALTER TABLE tên_table ENGINE = MyISAM;
[/php]

sql-querry
Câu lệnh thay đổi kiểu storage engine

 

Trong trường hợp này câu lệnh sẽ là:

[php]ALTER TABLE wp_yarpp_related_cache ENGINE = MyISAM;
ALTER TABLE wp_post ENGINE = MyISAM;
[/php]

Sau đó bản chỉ cần nhất nút “Go” ở góc phải bên dưới để hoàn thành việc chuyển đổi từ InnoDB sang MyISAM là được.

Nếu bạn là muốn sử dụng giao diện đơn giản mà phpMyadmin đã tạo ra, và không phải đụng đến câu lệnh cũng như không sợ gõ sai tên table thì bạn làm như sau: Click chuột vào table muốn đổi kiểu storage engine và click vào nút Operations có biểu tượng hình cờ lê trên thanh công cụ ở góc phải của table. Sau đó click vào Table Options và chọn Storage engine là MyISAM và nhấn nút “Go”. Làm tương tự với các table mà bạn muốn, và có thể chuyển đổi qua lại giữa các kiểu database theo ý bạn.

Table Opitons - Storage engine
Table Opitons – Storage engine

Kết quả sau khi đổi kiểu storage của table wp_post và wp_yarpp_related_cache được thể hiện ở hình bên dưới. Và bây giờ bạn sẽ không còn phải lo lắng về lỗi không hiển thị bài viết liên quan do “The YARPP database has an error which could not be fixed.” khi cài đặt và sử dụng plugin Yarpp.

 

MyISAM
MyISAM

 

Chú ý: Websitequangngai.com - Cung cấp các giải pháp Marketing Online trọn gói dành cho khách hàng. Gửi thông tin đăng ký qua Email:Pvonlinevn@gmail.com Hoặc qua số Hotline: 036 456 3270