Thay đổi giá trị max_allowed_packet của MySQL

Trong quá trình thao tác với hệ quản trị cơ sở dữ liệu MySQL đặc biệt là restore những cơ sở dữ liệu lớn bạn thường gặp phải một số vấn đề về max_allowed_packet của server. Ví dụ như mình gặp phải lỗi như sau khi mình restore một database khá lớn vào mysql:

com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1174223 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.


- Để thay đổi giá trị max_allowed_packet của mysql bạn vào thư mục Mysql/bin tìm đến file my.cnf --> Bạn mở file này ra và tìm đến dòng:
max_allowed_packet
Và chỉnh giá trị của dòng lên bao nhiêu tùy ý nhưng đừng chỉnh lớn quá nhé! Ở đây mình chỉnh lên 2048M thì mới sửa được lỗi của mình:
max_allowed_packet = 2048M
- Tiếp the bạn mở tiếp file my.ini cũng trong thư mục Mysql/bin và tìm tất cả các dòng:
max_allowed_packet
-->Sau đó điền giá trị mà bạn nhập ở file my.cnf vào:
max_allowed_packet = 2048M
Sau đó bạn restart lại mysql --> Thế thôi xong rồi!
 **** Trên đây là tôi tiến hành thực hiện với bộ MySQL trên web (Cụ thể là tôi dùng cho MySQL được tích hợp trong Xampp). Sau đây tôi sẽ hướng dẫn bạn điều chỉnh thông số max_allowed_packet (Max packet size) bằng tool MySQL Administrator, cách này có thể áp dụng cho mọi phiên bản MySQL đặc biệt là nếu bạn dùng MySQL Server, Cách thực hiện:
 -  Vào MySQL administrator ==> Chuyển đến phần Startup Variables
 -  Vào tab Advanced Networking
 -  Trong mục Data/ Memory size bạn đánh dấu check vào tùy chọn Max. Packet size và nhập vào giá trị mà bạn muốn (Ở đây tôi nhập là 3072 M - Giới hạn là 1G).

 -  ReStart lại MySQL

0 Nhận xét:

Đăng nhận xét

Rất mong các ý kiến của các bạn khi đọc bài viết này !