WordPress gặp lỗi: Database error MySQL server has gone away

WordPress gặp lỗi: Database error MySQL server has gone away

1. Mô tả lỗi:

Mã nguồn WordPress khi sử dụng hosting gặp lỗi “MySQL server has gone away“. được hiểu là “bạn mất kết nối với máy chủ trong thời gian truy vấn”. Một số nguyên nhân gây ra nó. Nhìn chung, nếu bạn dùng shared host bạn không thể sửa được lỗi này vì nó nằm ở phía server.

2. Phân tích lỗi:

Lỗi trên thường có thể do 1 trong các nguyên nhân dưới đây:

1. Server hết thời gian chờ và đóng kết nối. Mỗi kết nối mở ra có giới hạn một khoảng thời gian nhất định và sau khoảng này, máy chủ CSDL ( MySQL ) sẽ đóng kết nối lại dù bạn muốn hay không. Vì vậy, nếu mã nguồn của bạn xử lý quá lâu, lâu hơn khoảng thời gian cho phép giữ kết nối này thì sau đó nếu bạn có truy vấn lại thì bạn sẽ gặp lỗi này, vì lúc này kết nối đạ bị tự động đóng và từ chối mọi truy vấn liên quan đến MySQL từ user của bạn.

2. Một lý do phổ biến là khi truy vấn MySQL sảy ra lỗi và MySQL tự đóng kết nối hoặc do bạn tự đóng kết nối và sau đó cố gắng chạy một truy vấn về việc đóng kết nối. Đây là một vấn đề đơn giản.

3. Bạn đã nhận một timeout từ TCP / IP kết nối với khách hàng bên trên. Điều này có thể xảy ra nếu bạn có được bằng cách sử dụng lệnh: mysql_options (…, MYSQL_OPT_READ_TIMEOUT, …) hoặcmysql_options (…, MYSQL_OPT_WRITE_TIMEOUT, …). Trong trường hợp này tăng timeout, như mô tả ở trên, có thể giúp giải quyết vấn đề.

4. Bạn đã gặp một timeout trên máy chủ và các bên tự động kết nối lại trong những client bị vô hiệu hóa.

5. Bạn cũng có thể nhận được các lỗi này, nếu bạn gửi một yêu cầu đến máy chủ mà không đúng, hay quá lớn. Nếu mysqld sẽ nhận được một gói có nghĩa là quá lớn hoặc ra lệnh, nó giả định rằng cái gì đã đi sai với client và đóng kết nối. Nếu bạn cần truy vấn lớn (ví dụ, nếu bạn làm việc với cột BLOB lớn), bạn có thể tăng giới hạn các truy vấn bằng cách đặt các giá trị của max_allowed_packet tăng lên, trong đó có một giá trị mặc định của 1MB.

6. INSERT hoặc thay thế một query chèn một nhiều hàng cũng có thể gây ra các loại lỗi. Hoặc là một trong những lời truy vấn sẽ gửi một yêu cầu cho máy chủ bất kể số lượng các hàng sẽ được lắp vào, vì vậy, bạn thường có thể tránh những lỗi bằng cách giảm số lượng hàng được gửi cho mỗi INSERT hoặc thay thế.

7. Bạn cũng có được một kết nối bị mất nếu bạn đang gửi một gói 16MB hoặc lớn hơn, nếu client của bạn là cũ quá 4.0.8 và máy chủ của bạn là 4.0.8 trở lên, hoặc các cách khác tương tự.

Be the first to comment

Leave a Reply

Your email address will not be published.


*