Cơ sở dữ liệu là thành phần chính của hầu hết các trang web hiện đại, do đó các lỗi liên quan đế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 đó có nghĩa là bạn có thể phải 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.
Mặc dù nghe có vẻ đáng sợ, tuy nhiên 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 hướng dẫn dưới đây, website của bạn có thể online lại trong vài phút.
Trong bài viết này, chúng tôi sẽ giới thiệu 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 website. Sau đó, chúng tôi sẽ hướng dẫn bạn cách khắc phục 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 xử lý lỗi “MySQL Server Has Gone Away”
1. 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 dẫn đến tình trạng khi hết thời gian PHP timeout nhưng database vẫn chưa query hoàn tất có thể dẫn đến lôi “MySQL Server Has Gone Away”. Bạn có thể cấu hình PHP timeout trong file wp-db.php như sau: Truy cập thư mục wp-includes > mở file wp-db.php thay đổi đọn code sau
$this->ready = true;
thay thế bằng codde dưới đây
$this->query("set session wait_timeout=300");
Thay đổ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 thay đổi vào tệp wp-db.php của bạn và kiểm tra hoạt động.
2. Repair database website
Đôi khi cơ sở dữ liệu WordPress của bạn có thể bị hỏng, do đó có thể dẫn đến lỗi khi bạn cố gắng thiết lập kết nối với nó.
Để khắc phục sự cố này, bạn có thể 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 nhiên, trước tiên, bạn sẽ phải kích hoạt tính năng đó. Điều này cần bạn mở tệp wp-config.php để chỉnh sửa nó và thêm vào đoạn code sau
define('WP_ALLOW_REPAIR', true);
Dòng mã đơn giản đó bảo WordPress kích hoạt chức năng sửa chữa cơ sở dữ liệu. Lưu các thay đổi vào wp-config.php . Để chạy chức năng, chỉ cần truy cập URL sau:
https://yourwebsite.com/wp-admin/maint/repair.php
WordPress sau đó 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 repair 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.
3. Restore dữ liệu của bạn về thời điểm trước khi có lỗi sảy ra nếu như thaot ác repair database không khắc phục được lỗi
Phương án này là phương án cuối cùng, đối với hosting tại TinoHost bạn có thể làm theo hướng dẫn sau để restore dữ liệu.
Đối với vps bạn sẽ cần thử hiện thử công restore từ các bản backup định kỳ là bạn đã thiết lập trước đó.