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

498

Trong quá trình thao tác với cơ sở dữ liệu, đặc biệt là khi phải restore các database lớn mình thường gặp phải vấn đề với max_allowed_packet của server. Tranh thủ hôm nay động lại món này mình ghi vào đây để sau này có thể tra cứu 🙂

Có nhiều cách để thay đổi giá trị của biến  max_allowed_packet trong MySQL, mình sẽ nói các cách mình đã dùng nhé 😀

1. Chỉnh sửa trực tiếp giá trị của biến max_allowed_packet trong file /etc/my.cnf . Sửa dòng này có nội dung thế này:

[mysqld]
max_allowed_packet=16M => điều chỉnh giá trị theo ý bạn muốn. Đừng để lớn quá nhé 😉

2. Điều chỉnh tại chế độ dòng lệnh nhưng không làm khởi động lại (giá trị  max_allowed_packet chỉ được áp dụng trong phiên làm việc đó).

mysql> show variables like ‘max_allowed_packet%’ ;
+——————–+———+
| Variable_name | Value |
+——————–+———+
| max_allowed_packet | 1048576 |
+——————–+———+
1 row in set (0.00 sec)

mysql> set max_allowed_packet = 1073741824;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like ‘max_allowed_packet%’ ;
+———————————–+———————+
| Variable_name | Value |
+———————————-+———————+
| max_allowed_packet | 1073741824 |
+——————–+————+———————-+

3. Khởi động lại MySql server với giá trị của biến  –max_allowed_packet do bạn chọn.

/etc/init.d/mysqld restart –max_allowed_packet=1024M (hoặc giá trị bạn muốn thay đổi khác).

Chúc vui vẻ 🙂