- Модуль: cluster
- Путь к файлу: ~/bitrix/modules/cluster/classes/mysql/dbnode_check.php
- Класс: CClusterDBNodeCheck
- Вызов: CClusterDBNodeCheck::SlaveNodeIsReplicationRunning
function SlaveNodeIsReplicationRunning($db_host, $db_name, $db_login, $db_password, $master_host=false, $master_port=false)
{
global $DB;
$node_id = "v99";
CClusterDBNode::GetByID($node_id, array(
"ACTIVE" => "Y",
"STATUS" => "ONLINE",
"DB_HOST" => $db_host,
"DB_NAME" => $db_name,
"DB_LOGIN" => $db_login,
"DB_PASSWORD" => $db_password,
));
ob_start();
$nodeDB = CDatabase::GetDBNodeConnection($node_id, true);
$error = ob_get_contents();
ob_end_clean();
if(is_object($nodeDB))
{
//Check if replication is runnung
$rs = $nodeDB->Query("show slave status");
$ar = $rs->Fetch();
if($ar && $ar["Slave_IO_State"] <> '')
{
if($ar["Master_Host"] == $master_host && $ar["Master_Port"] == $master_port)
return $nodeDB;
else
return GetMessage("CLU_RUNNING_SLAVE");
}
else
{
return false;
}
}
else
{
return $error;
}
}