Pages

Friday, June 4, 2010

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

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

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é :D

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).

No comments: