是否有可能使数据库像克隆一样运行


is it possible to make a DB act like a clone?

我有一个数据库(我们称之为A

我需要信息在多个数据库中(B,C,D需要完全相同的信息)

我可以制作一些每 (X) 小时自动更新所有内容的东西吗?

#

我需要这个才能使用 IIS 2/php 同步 7 个 Joomla 组件。

尝试过(第一次工作很好,但是如果更改了一个,它就会被搞砸,因为此组件中没有主要组件):

#

获取我的数据

$mysqli = @new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_WORLD);
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
    die("&error=".mysqli_connect_error()."&");
    exit();
}

$query = "  SELECT  table_name
            FROM    information_schema.tables
            WHERE   table_name LIKE '%XXXXXXX%'";
$arrTableList   = array();
$allInArray     = array();
if ($result = $mysqli->query($query)) {
    /* Récupère un tableau d'objets */
    while ($obj = $result->fetch_object()) {
        $arrTableList[] = $obj->table_name;
    }
    /* free result set */
    $result->close();
}
foreach($arrTableList as $key => $value){
    $query = "  SELECT  *
                FROM    $value";
    if ($result = $mysqli->query($query)) {
        /* Récupère un tableau d'objets */
        while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
            $allInArray[$value][] = $row;
        }
        /* free result set */
        $result->close();
    }
}

插入功能

function toSwich($newDb, $tmpTag){
    global $mysqli;
    global $allInArray;
    global $tag1;
    $mysqli->select_db($newDb);
    foreach($allInArray as $table => $tableArrayData){
        $table  =   str_replace ($tag1, $tmpTag, $table);
        foreach($tableArrayData as $uselessKey => $valueArray){
            $keyList    = "";
            $valueList  = "";
            $query = "SELECT COUNT(*) FROM $table WHERE ";
            foreach($valueArray as $key => $value){
                $key        =    $mysqli->real_escape_string($key);
                $value      =    $mysqli->real_escape_string($value);
                $keyList    .=  $key . ",";
                $valueList  .=  "'" . $value . "',";
                $query      .=  " $key = '$value' AND";
            }
            $query      =   substr($query,0,-3);
            $valueList  =   substr($valueList,0,-1);
            $keyList    =   substr($keyList,0,-1);
            if(!$result = $mysqli->query($query)){
                print_r($mysqli->error);
                echo "<br />";
                print_r($query);
                echo "<br />";
                exit();
            }
            $row = $result->fetch_row();
            if((int)$row[0] == 0){
                if(!$mysqli->real_query("INSERT INTO $table ($keyList) VALUES ($valueList)")){
                    print_r($mysqli->error);
                    exit();
                }
            }
        }
    }
}

配置主从复制模式,我将保持数据库不断同步

下面是如何配置复制的示例:在Mysql中配置主从复制的3个跳转步骤