Mysql tmp_table_size và max_heap_table_size không hoạt động


8

Tôi đặt kích thước tmp của bảng thành giá trị cao hơn trong my.cnftệp của mình như thế này:

tmp_table_size = 64M
max_heap_table_size = 64M

Nhưng nó không hoạt động. Tôi đã sử dụng kịch bản này để kiểm tra nó. Ngay cả sau khi tôi khởi động lại, nó vẫn hiển thị rằng 16M là giá trị mặc định.

Tôi đang làm gì sai?

Câu trả lời:


15

Bạn phải đảm bảo các cài đặt nằm trong [mysqld]nhóm trong /etc/my.cnf

[mysqld]
tmp_table_size = 64M
max_heap_table_size = 64M

sau đó làm một trong hai điều sau:

TÙY CHỌN 1: Khởi động lại mysql

service mysql restart

TÙY CHỌN 2: Đặt nó trên toàn cầu cho các kết nối mới (không cần khởi động lại)

SET GLOBAL tmp_table_size = 1024 * 1024 * 64;
SET GLOBAL max_heap_table_size = 1024 * 1024 * 64;

Hãy thử một lần !!!


đáng lưu ý rằng SET GLOBAL ...không tiếp tục khởi động lại dịch vụ, (ít nhất là trong 5.0, không thử điều này trong 5.5).
Oneiroi

@Oneiroi Đó là lý do tại sao tôi nói đầu tiên thêm các biến vào my.cnf dưới [mysqld]tiêu đề nhóm. Sau đó, thiết lập chúng một cách linh hoạt trong trường hợp không thể khởi động lại trong giờ làm việc bình thường ...
RolandoMyQueryDBA

ah đó là những gì tôi nhận được để đọc lướt qua, xấu của tôi.
Oneiroi

0

Xóa các khoảng trắng khỏi my.cnf của bạn.

[mysqld]
...
tmp_table_size=64M
max_heap_table_size=64M
...

Để giải quyết vấn đề, bản thân tôi đã bị bắt gặp bởi điều này trong quá khứ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.