转移到新服务器后,我每天收到一次MySQL crash [1]问题,这是我收到的电子邮件,烦人的是,其潜在的影响是。关于如何调试此问题的任何提示?
显然崩溃发生了,$schedule->save()
所以我尝试用try ... catch来包装它,但这没有帮助
SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
Trace:
#0 /var/www/vhosts/site/store/lib/Zend/Db/Adapter/Pdo/Abstract.php(305): PDO->beginTransaction()
#1 /var/www/vhosts/site/store/lib/Zend/Db/Adapter/Abstract.php(495): Zend_Db_Adapter_Pdo_Abstract->_beginTransaction()
#2 /var/www/vhosts/site/store/lib/Varien/Db/Adapter/Pdo/Mysql.php(219): Zend_Db_Adapter_Abstract->beginTransaction()
#3 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/Resource/Abstract.php(76): Varien_Db_Adapter_Pdo_Mysql->beginTransaction()
#4 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/Abstract.php(313): Mage_Core_Model_Resource_Abstract->beginTransaction()
#5 /var/www/vhosts/site/store/app/code/core/Mage/Cron/Model/Observer.php(125): Mage_Core_Model_Abstract->save()
#6 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/App.php(1338): Mage_Cron_Model_Observer->dispatch(Object(Varien_Event_Observer))
#7 /var/www/vhosts/site/store/app/code/core/Mage/Core/Model/App.php(1317): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Cron_Model_Observer), 'dispatch', Object(Varien_Event_Observer))
#8 /var/www/vhosts/site/store/app/Mage.php(447): Mage_Core_Model_App->dispatchEvent('default', Array)
#9 /var/www/vhosts/site/store/cron.php(46): Mage::dispatchEvent('default')
#10
{main}
超时设置:
mysql> show global variables like '%timeout%';
+----------------------------+----------+
| Variable_name | Value |
+----------------------------+----------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 30 |
| lock_wait_timeout | 31536000 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| wait_timeout | 3600 |
+----------------------------+----------+
10 rows in set (0.00 sec)
1
PHP失去了它与MySQL的连接。了解magento可能是因为cron.php文件需要花费几个小时才能运行。尝试查看您的MySQL超时设置...
—
Matt Humphrey 2013年
您可以检查mysql LOG!一旦您尝试查询该表,最有可能的mysql崩溃并重新启动
—
Meabed 2013年
@MattHumphrey问题是,它每天只发生一次,而cron.php每15分钟运行一次,超时已非常高
—
Zifius
我不认为这是Magento的特定问题。您要描述的是MySQL服务器上的连接超时,通常可以通过在连接上设置重新连接选项并在使用前ping服务器来恢复该超时。我将查看您的MySQL配置(
—
卡森(Karlson)2013年
my.cnf
),以了解超时情况并增加超时时间。有关详细信息,请参见stackoverflow.com/questions/4284194/…。
@Zifius超时设置是什么?
—
卡森(Karlson)2013年