Nhận lỗi nghiêm trọng: SQLSTATE [HY000]: Lỗi chung: 2006 Máy chủ MySQL đã biến mất


7

Trong một thời gian dài, ứng dụng Magento của tôi đã hoạt động tốt. Nhưng đột nhiên nó bắt đầu hiển thị lỗi dưới đây.

Fatal error: 
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2006 MySQL server has gone away' in /home/serverDir/public_html/lib/Zend/Db/Statement/Pdo.php:228 
Stack trace: 
#0 /home/serverDir/public_html/lib/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) 
#1 /home/serverDir/public_html/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array) 
#2 /home/serverDir/public_html/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array) 
#3 /home/serverDir/public_html/lib/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array) 
#4 /home/serverDir/public_html/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('insert into csv...', Array) 
#5 /home/serverDir/public_html/lib/Varien/Db/Adapter/Pdo/Mysql.php(428): Zend_Db_Adapter_Pdo_Abstract->query('insert into csv...', Array) 
#6 /home/serverDir/public_html/app/code/local/namespace/module/Model/Observer.php(638): Varien_Db_Adapter_Pdo_Mysql->query('inser in /home/serverDir/public_html/lib/Zend/Db/Statement/Pdo.php on line 234

Tôi đã tìm kiếm tất cả về điều này qua internet, nhưng không thể tìm thấy giải pháp.

Vui lòng hướng dẫn tôi tại sao đột nhiên nó bắt đầu hiển thị lỗi nghiêm trọng này.

Câu trả lời:


12

Nguyên nhân thông thường khi bạn nhận được MySQL server has gone awaylà lỗi hết thời gian và max_allowed_packet bị đặt quá thấp. Đây là những cài đặt sẽ được nhà cung cấp dịch vụ lưu trữ của bạn cung cấp cho tệp my.cnf trong hệ thống của bạn.

Máy chủ MySQL đã biến mất khỏi MySQL.com

Kết nối đến máy chủ MySQL của bạn đã hết thời gian do tập lệnh PHP mất quá nhiều thời gian để thực thi, quá tải máy chủ, yêu cầu rất lớn khốn khổ hoặc cấu hình sai của MySQL

cài đặt my.cnf có thể giúp

max_allowed_packet = 16M
wait_timeout = 1800 
connect_timeout = 120

Bạn sẽ cần khởi động lại máy chủ MySQL của mình để tải các cài đặt này

Hãy thử tăng dần max_allowed_pquet tăng dần, bạn có thể cần 24M-32M.

Nếu bạn đang sử dụng lưu trữ được chia sẻ, thì đó là một dấu hiệu tốt cho thấy máy chủ được chia sẻ của bạn sắp hết tài nguyên và Magento theo thời gian là do sự phát triển cơ sở dữ liệu, vượt quá khả năng lưu trữ được chia sẻ để chạy nó.


3

Bạn cần tăng giới hạn của max_allowed_packetmysql của bạn để nói 30M hoặc một cái gì đó.

Trong cài đặt linux của tôi, điều này có thể được tìm thấy trong /etc/mysql/my.cnftập tin.


Cảm ơn, Có thể đặt max_allowed_packet trong tệp php.
Harish Kumar

Có, bạn có thể phát hành SQL SET GLOBAL max_allowed_packet = ... để thay đổi giá trị của max_allowed_packet, nhưng vì đó là một biến toàn cục nên lưu ý rằng bạn phải kết nối lại để thay đổi có hiệu lực vì thay đổi các biến hệ thống toàn cầu hiện tại không ảnh hưởng kết nối mở.
Nasir Perwaiz

không làm việc anh em
Harish Kumar

1

Cố gắng làm mới các chỉ mục trong Magento trong Hệ thống> Quản lý chỉ mục. Tôi đã có cùng một vấn đề và làm mới các chỉ số giúp đỡ.

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.