gpt4 book ai didi

mysql - AWS Aurora Auto Scaling 组数据库关闭导致 mysql 服务器消失问题

转载 作者:行者123 更新时间:2023-11-29 16:13:42 26 4
gpt4 key购买 nike

我正在使用 AWS Aurora 和自动缩放组根据 CPU 添加/删除数据库从属服务器。每天有几次,我收到“一般错误:2006 MySQL 服务器已消失”。我已将此问题缩小为以下事实:当从自动缩放组中删除数据库时,会引发此异常。我在 local.xml 文件中使用只读集群端点作为核心读取选项。

关于如何修复此问题的任何想法,以便连接在确定数据库不再存在后自动尝试重新连接?

我使用的是 Magento 1.9.2.4

最佳答案

这是我当前的解决方案。我复制了 lib/Varien/Db/Adapter/Pdo/Mysql.php 并创建了一个新文件 app/code/local/Varien/Db/Adapter/Pdo/Mysql.php。

我修改了查询函数。

更改:

$result = Parent::query($sql, $bind);

至:


$tries = 0;
do {
$retry = false;
try {
$result = parent::query($sql, $bind);
} catch (Exception $e) {
// Check to reconnect
if($tries < 3 && stristr($e->getMessage(), '2006 MySQL server has gone away')) {
$retry = true;
$tries++;
$this->_connection = null; // Kill the current connection to the scaled out db
$this->_connect(); // Reconnect to an available db
} else {
throw $e;
}
}
} while ($retry);

关于mysql - AWS Aurora Auto Scaling 组数据库关闭导致 mysql 服务器消失问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55025824/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com