如何将表从一个服务器更新到另一个服务器,并在第一个服务器中添加字段时添加到第二个服务器?

时间:2014-09-05 19:34:14

标签: mysql sql select insert-update

我在2台服务器中有下表,服务器1必须将所有这些信息直接发送到服务器2,例如“id”,“username”,“iddns”,“dns”,“ipdnstipo”和“ipdns”字段就像它一样,如果我增加“stock”字段,它也会被添加到服务器2中。

我知道我问的太多了,如果它只是从一台服务器更新到另一台服务器,我已经非常高兴了。

CREATE TABLE IF NOT EXISTS `trad` (
`id` int(11) NOT NULL,
`username` varchar(50) NOT NULL,
`iddns` int(11) NOT NULL,
`dns` varchar(255) DEFAULT NULL,
`ipdnstipo` varchar(10) DEFAULT NULL,
`ipdns` varchar(64) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `trad` (`id`, `username`, `iddns`, `dns`, `ipdnstipo`, `ipdns`) VALUES
(1, 'master', 0, 'exemplo.com.', 'A', '10.0.0.101'),
(1, 'master', 1, 'dns1.exemplo.com.', 'A', '10.0.0.101'),
(1, 'master', 2, 'dns2.exemplo.com.', 'A', '10.0.0.102'),
(1, 'master', 3, 'dns3.exemplo.com.', 'A', '10.0.0.103'),
(1, 'master', 4, 'dns4.exemplo.com.', 'A', '10.0.0.101'),
(1, 'master', 5, 'dns5.exemplo.com.', 'A', '10.0.0.102'),
(1, 'master', 6, 'dns6.exemplo.com.', 'A', '10.0.0.103'),
(1, 'master', 7, 'dns7.exemplo.com.', 'A', '10.0.0.101'),
(1, 'master', 8, 'dns8.exemplo.com.', 'A', '10.0.0.102'),
(1, 'master', 9, 'dns9.exemplo.com.', 'A', '10.0.0.103'),
(1, 'master', 100, 'exemplo1.com.', 'A', '10.0.0.101'),
(1, 'master', 1000, 'exemplo1.com.', 'A', '10.0.0.102'),
(1, 'master', 10000, 'exemplo1.com.', 'A', '10.0.0.103'),
(1, 'master', 101, 'dns1.exemplo1.com.', 'A', '10.0.0.101'),
(1, 'master', 102, 'dns2.exemplo1.com.', 'A', '10.0.0.102'),
(1, 'master', 103, 'dns3.exemplo1.com.', 'A', '10.0.0.103'),
(1, 'master', 200, 'exemplo2.com.', 'A', '10.0.0.101'),
(1, 'master', 2000, 'exemplo2.com.', 'A', '10.0.0.102'),
(1, 'master', 20000, 'exemplo2.com.', 'A', '10.0.0.103'),
(1, 'master', 201, 'dns1.exemplo2.com.', 'A', '10.0.0.101'),
(1, 'master', 202, 'dns2.exemplo2.com.', 'A', '10.0.0.102'),
(1, 'master', 203, 'dns3.exemplo2.com.', 'A', '10.0.0.103');

只能用我的研究做到这一点但不能正常工作。

<?PHP
$db_host1     = "10.0.0.101";
$db_user1     = "dns";
$db_password1 = "123456";
$db_name1     = "dns";
$db_connect1  = mysqli_connect($db_host1, $db_user1, $db_password1, $db_name1);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$db_host2     = "10.0.0.102";
$db_user2     = "dns";
$db_password2 = "123456";
$db_name2     = "dns";
$db_connect2  = mysqli_connect($db_host2, $db_user2, $db_password2, $db_name2);
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query(
$db_connect1,
"SELECT * FROM trad"
);

$rows = mysqli_fetch_array($result,MYSQLI_NUM);

foreach ($rows as $row) {
$trad = $row;
mysqli_query(
$db_connect2,
"INSERT INTO trad"
);
}
mysqli_close($db_connect1);
mysqli_close($db_connect2);
?>

0 个答案:

没有答案