Cơ sở dữ liệu là tính năng chính của hầu hết các Web tối tân. Vì vậy các lỗi ảnh hưởng đến dữ liệu rất nhạy cảm. Ví dụ “MySQL server has gone away” có thể khiến bạn tin rằng cơ sở dữ liệu của bạn đã bị mất. Điều đấy mang nghĩa là bạn có thể phải sử dụng đến bản sao lưu mới nhất của mình để khởi động Trang Web của bạn. ATPWEB sẽ cùng với bạn tìm hiểu nguyên nhân xảy ra lỗi MySQL server has gone away và cách để khắc phục nhé.
Xem thêm: Giải pháp xử lý lỗi MySQL 1064 đơn giản
Giải quyết lỗi “MySQL Server Has Gone Away” trên WordPress
Mặc dù nghe có vẻ đáng lo lắng, thế nhưng lỗi “MySQL server has gone away” rất dễ khắc phục. Chỉ cần bạn kiểm tra theo các chỉ dẫn sau đây, Web của bạn sẽ hoạt động lại chỉ trong vài phút.
Trong bài viết này, chúng tôi sẽ giúp cho bạn biết lỗi “MySQL server has gone away” như thế nào và có thể gây ra lỗi gì cho Web. Sau đấy, chúng tôi sẽ hướng dẫn bạn cách sửa lỗi và ngăn lỗi này xuất hiện lại trong tương lai.
Nguyên nhân của lỗi “MySQL server has gone away”
- Database bị corrupted, lỗi table hoặc không thể đọc được dữ liệu
- PHP ‘timeout’ được thiết lập quá thấp
- ‘Packets’ dữ liệu trả về quá lớn
Cách giải quyết lỗi “MySQL Server Has Gone Away”
Chỉnh sửa wp-db.php
Trường hợp PHP timeout cấu hình quá thấp mà database lại quá lớn có thể dẫn đến trạng thái khi hết thời gian PHP timeout nhưng database vẫn chưa query hoàn tất. Từ đó có khả năng dẫn đến lỗi “MySQL Server Has Gone Away”. Bạn sẽ kết cấu PHP timeout trong file wp-db.php như sau: truy nhập thư mục wp-includes > mở tệp wp-db.php chuyển đổi đoạn code sau
$this->ready = true;
Thay thế bằng code sau đây
$this->query("set session wait_timeout=300");
Chuyển đổi này sẽ đặt giá trị thời gian chờ PHP của bạn thành 300 giây, sẽ cao hơn rất nhiều so với mức bạn cần để ngăn chặn bất kỳ lỗi nào hiển thị.
Bây giờ hãy lưu các chuyển đổi vào tệp wp-db.php của bạn và kiểm tra hoạt động.
Repair database Website
Đôi khi cơ sở dữ liệu WordPress của bạn sẽ bị hỏng, do đó có khả năng dẫn đến lỗi khi bạn cố gắng cài đặt kết nối với nó.
Để khắc phục sự cố này, bạn cần sử dụng chức năng WordPress tích hợp để sửa chữa cơ sở dữ liệu của mình. Tuy vậy, đầu tiên, bạn bắt buộc phải kích hoạt khả năng đấy. Việc này cần bạn mở file wp-config.php để chỉnh sửa nó và chèn vào đoạn code sau
define('WP_ALLOW_REPAIR', true);
Dòng mã dễ dàng đó bảo WordPress kích hoạt công dụng sửa chữa cơ sở dữ liệu. Lưu các thay đổi vào wp-config.php . Để chạy công dụng, chỉ cần truy nhập URL sau:
https://yourwebsite.com/wp-admin/maint/repair.php
WordPress sau đấy sẽ hỏi bạn có muốn sửa chữa cơ sở dữ liệu của bạn hoặc sửa chữa và tối ưu hóa nó không.
Sau khi quá trình sửa chữa hoàn tất, bạn có thể gỡ bỏ doạn code vừa thêm ở trên và kiểm tra truy cập.
Restore dữ liệu của bạn về thời điểm trước khi có lỗi xảy ra nếu thao tác repair database không khắc phục được lỗi
Giải pháp này là phương án cuối cùng, đối với vps bạn có thể cần thực hiện thủ công restore từ các bản backup định kỳ mà bạn đã cài đặt trước đây.
Kết
Với các cách trên bạn có thể giúp website của mình tránh được lỗi MYSQL Has Gone Away trên WordPress. Chúc các bạn thành công!!