Hướng dẫn Fix lỗi MySQL server has gone away khi import file sql

Hướng dẫn Fix lỗi MySQL server has gone away khi import file sql

Hôm nay mình sẽ hướng dẫn các bạn fix một lỗi thường gặp khi import file sql vào phpMyAdmin. Các bạn sẽ được thông báo lỗi với tên “MySQL server has gone away“. Đây thường là một trong những lỗi kiến bạn rất khó chịu không thể tiếp tục công việc của mình. Vậy bạn có thể fix lỗi này qua bài viết sau.

Bạn thường gặp tình trạng này khi

Bạn có 1 file datase đã được xuất ra dưới dạng File sql. File này có thể lên tới 20MB, lúc bạn chuyển các hosting hay VPS/server (điểm lưu trữ dữ liệu website) bạn cần import file này thì gặp phải lỗi sau:

Hướng dẫn Fix lỗi MySQL server has gone away khi import file sql
Mô phỏng lỗi

Và bạn thử import đi import lại hãy chục lần vẫn bị tình trạng đó.

Ngoài ra bạn có thể fix các lỗi khác khi import file SQL sau đây:

Nguyên nhân

Đây là một tình ra dung lượng gói chứa SQL-statement vượt qua giới hạn quy định của lệnh ‘max_allowed_packet’ thì MySQL sẽ tự động ngắt import và ngắt kết nối. Nói một cách dễ hiểu hơn là trong một trường của file SQL có số ký tự vượt quá yêu cầu định lượng quy định của hệ thống. Tại sau mình lại nói là ký tự? Vì số ký tự có thể quy ra dung lượng từ đó suy ra vượt qua dung lượng yêu cầu của hệ thống.

Không phải cứ là những file hệ thống là không thể chỉnh sửa được. Nhưng bạn nên nhớ việc này có thể tinh chỉnh được nhé. Ngoài trừ một số file quy định về dung lượng thì các file còn lại bạn không nên sửa nếu như không có hướng dẫn.

Fix lỗi MySQL server has gone away

Như đã nói trên thì bạn có thể tuỳ chỉnh và fix lỗi này. Chính xác hơn là tăng giá trị của ‘max_allowed_packet’ ở giá trị cao hơn dung lượng của file database bạn cần import vào. Để thay đổi giá trị này có 2 cách:

Tăng thời gian global MySQL

Đầu tiên bạn cần sẽ tăng giá trị ‘Max_allowed_packet’ bằng cách cài đặt lại biến Global của max_allowed_packet trên phpMyAdmin. Giá trị bạn cần đổi phải theo công thức:

Dung lượng file SQL x 1024x1024 = giá trị cần đổi

Để đổi cài lại biến Global này bạn cần kết nối với server VPS qua SSH tiếp theo chạy các lệnh sau:

# mysql -u root -p
Enter password: (đánh mật khẩu của user root)
mysql> SET GLOBAL max_allowed_packet=giá-trị-cần-đổi

Sau đó hãy import lại file sql nhé

Cấu hình lại file MySQL

Có thể cách trên sẽ kiến bạn bị lỗi khi đánh mật khẩu user chẳng hạng. Thì đây là cách có thể giúp bạn fix lỗi trên. Với cách này giúp bạn cấu hình lại File my.cnf điều chỉ các thông số của MySQL.
Chỉnh sửa file được nói trên bạn cần phải kết nối với server qua SSH và nhập lần lượt các lệnh sau

# vi /etc/my.cnf

max_allowed_packet=thay-bằng-số-lớn-hơn-dung-lượng-file-sql

Sau đó bạn reset lại qua lệnh sau:

# /etc/init.d/mysql restart

Trên đây là nguyên nhân và cách fix lỗi MySQL server has gone away khi import file sql vào phpMyAdmin. Chúc bạn thành công, cảm ơn các bạn đã theo dõi bài viết

Toby Trương
Tôi là Admin của website EzLasso.com Xin chào! Tôi là Khai còn gọi là "Toby", người viết website này. Tôi có một đam mê về công nghệ, thiết bị máy tính và mong muốn được chia sẻ cho tất cả mọi người .