gpt4 book ai didi

php - 是否有可能使数据库像克隆一样?

转载 作者:行者123 更新时间:2023-11-29 00:46:36 24 4
gpt4 key购买 nike

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

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

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

#

我需要这个以便使用 IIS 7/php 同步 2 个 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();
}
}
}
}

}

最佳答案

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

这是一个如何配置复制的例子:3 Jump Steps to Configure Master Slave Replication in Mysql

关于php - 是否有可能使数据库像克隆一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303571/

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