2010-02-09 66 views
21

Tôi nhận được thông báo lỗi này SQLSTATE[08004] [1040] Too many connections, tôi đang sử dụng bộ điều hợp pdo. Tôi có cần đóng kết nối không? Và làm thế nào tôi làm điều đó?SQLSTATE [08004] [1040] Quá nhiều kết nối

Trả lời

10

Bạn cần thay đổi tệp my.cnf của mình.

[mysqld] 
set-variable=max_connections=250 

Cao hơn giá trị.

+0

Chuỗi "set-variable =" không còn cần thiết từ MySQL 5.x, do đó câu trả lời khác do Camden S. cung cấp là chính xác. – dmoebius

+0

Nhưng tại sao điều này lại xảy ra? Có phải vì các kết nối không bị đóng như được hỏi trong câu hỏi? –

4

Trong mysql của bạn phải của tôi để chạy này:

Set Global max_connections=2000 

Tôi đang sử dụng phpMyAdmin và tôi thực hiện

+0

Điều đó hoạt động, nhưng chỉ kéo dài cho đến khi bạn khởi động lại máy chủ MySQL của mình. Vì vậy, một cách tốt để kết nối thời gian đó nếu bạn không muốn khởi động lại nó ngay lập tức, nhưng bạn cũng có chỉnh sửa 'my.cnf' như được hiển thị trong các câu trả lời khác để thực hiện thay đổi này vĩnh viễn. – tanius

9

Trong file my.conf của bạn (thường nằm trong/etc) tìm dòng mà nói :

[mysqld] 

Và ở đâu đó bên dưới rằng thiết

max_connections=500 

Hoặc bất kỳ giá trị số nào bạn cần.

Thông tin thêm tại đây: MySQL 5.5 Reference Manual: Too many connections.

+0

Đối với những người gặp khó khăn khi tìm tập tin 'my.conf': http://stackoverflow.com/a/27325487/515585 – randomor

+0

Lỗi đánh máy nhỏ: cú pháp đúng là' max_connections = 500', không phải 'max-connections = 500' như ban đầu đã nêu trong câu trả lời này. – tanius

5

Nguyên nhân gốc của lỗi này đối với tôi là một ổ cứng đầy đủ. Hãy ghi nhớ điều đó như một khả năng.

+0

Nguyên nhân gốc rễ của tôi cũng là một ổ cứng đầy đủ. –

Các vấn đề liên quan