close

Xử lý lỗi “MySQL Server Has Gone Away” trên WordPress

Tác giả: Dương Xuân Ngày cập nhật: 13/04/2020 Chuyên mục:
Disclosure
Website Wiki.tino.org được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Wiki.tino.org có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Wiki.tino.org sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại wiki.tino.org được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

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.

Xử lý lỗi “MySQL Server Has Gone Away” trên WordPress 1

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 đó.

Bài viết liên quan

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO
Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn,  Phường Bến Nghé, Q. 1, TP. Hồ Chí Minh

Văn phòng kinh doanh: Số 42 Trần Phú, Phường 4, Quận 5, TP HCM
GPKD số 0315679836 do Sở KH và ĐT TP Hồ Chí Minh cấp
Hotline: 0364 333 333
Góp ý/Phản ánh dịch vụ: 0933 000 886