Heim Datenbank MySQL-Tutorial 怎么使 Mysql 数据同步_MySQL

怎么使 Mysql 数据同步_MySQL

Jun 01, 2016 pm 02:05 PM
test 主机 同步 怎么 数据 数据库 Material

先假设有主机 A 和 B ( Linux 系统),主机 A 的 IP 分别是 1.2.3.4 (当然,也可以是动态的),主机 B 的 IP 是 5.6.7.8 。两个主机都装上了 PHP+Mysql ,现在操作的是主机 A 上的资料,如果另外一个主机 B 想跟 A 的资料进行同步,应该怎么做呢?

OK,我们现在就动手。

首先,如果要想两个主机间的资料同步,一种方法就是主机 A 往主机 B 送资料,另外一种主法就是主机 B 到主机 A 上拿资料,因为 A 的 IP 是动态的(假设),所以我们就得从主机 A 往主机 B 送资料。

在主机 B 上创建一个 Mysql 账户。
# GRANT ALL ON test.* TO user@% IDENTIFIED BY "password"; //创建用户 user,可以从任何机器访问到主机 B 上的 test 数据库。

如果这里显示错误,先把 % 改为一个 IP ,然后再利用 phpMyAdmin 把 IP 改为 % ,测试无误后就可以写 php 程序。

$link=mysql_pconnect("localhost","user","password");
mysql_pconnect("localhost","user","password"); //连接本机(主机A)的数据库
mysql_select_db("test"); //选择数据库test

$re=mysql_query("select * from table order by id desc");
$num=mysql_numrows($re);
if (!empty($num)) {
$id=mysql_result($re,0,"id"); //获得本机table表的最大ID
}

mysql_close($link); //关闭与本机数据库的连接


$link=mysql_pconnect("5.6.7.8","test","test");
mysql_pconnect("5.6.7.8","test","test"); //连接主机B的数据库
mysql_select_db("test"); //选择数据库test,此数据库应该与主机A上test数据库的结构一样。
$re=mysql_query("select * from table order by id desc");
$num=mysql_numrows($re);
if (!empty($num)) {
$remote_id=mysql_result($re,0,"id"); //获得主机Btable表的最大ID
}

if ($id>$remote_id) {
$result_id=$id-$remote_id; //如果主机A中table的最大ID大于主机B中table表的最大ID,说明两个
} 的资料不同

mysql_close($link); //关闭主机B的数据库连接


$link=mysql_pconnect("localhost","user","password");
mysql_pconnect("localhost","user","password");
mysql_select_db("test");

if (empty($result_id)) $result_id=0;
if (empty($remote_id)) $remote_id=0; //如果主机B中的table的最大ID为空(里面没有资料),那么就等0

$re=mysql_query("select * from table limit $remote_id,$result_id"); //取出主机A中table表与主机B中table表里不同的资料
$num=mysql_numrows($re);
if (!empty($num)) {
for ($i=0;$i$test[$i]=mysql_result($re,$i,"test"); //把不同的资料放入一个数组里
}
}
mysql_close($link); //关闭主机A的数据库连接


$link=mysql_pconnect("5.6.7.8","user","password");
mysql_pconnect("5.6.7.8","user","pasword");
mysql_select_db("test");

for ($j=0;$j<$i;$j++) { //这里的i等于在比较主机A与主机B上table表不同资料的数量

mysql_query("insert into table (test) values('$test[$j]')");

}

mysql_close($link); //关闭主机B的数据库连接

?>

这时就初步实现了 A 主机和 B 主机数据的同步,但现在还需要人手动每次去激活这个程序,有没有办法把它作为一个脚本一样的,放在 crontab 里面指定时间自动执行呢?

在安装 php 时会自动生一个叫 php 的可执行文件,一般在/你安装的 php 目录 /bin 下面,不过较底的版本好像没有,如果没有这个文件,你就得升级你的 php 。

#php -q test.php

php 原本是应用在网页应用的﹐因此它会送出 HTML 的 Header﹐但是在此我们是要将 php 用作 Shell Script﹐"-q" 就是表示不要送出 Header 的意思.

最后编辑 /etc/crontab 里的文件,加上下面这一句。

0 0 * * * root /home/httpd/html/test //每天晚上零点执/home/httpd/html/test文件(具体使用方法请查看cron的相关资料)

OK,到这里差不多就已完成 Mysql 数据的同步了,如果各位还有兴趣的话,可以想一个连编辑、删除都能同步的更好的办法。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Smartwatch Huawei Watch GT 5 erhält ein Update mit neuen Funktionen Die Smartwatch Huawei Watch GT 5 erhält ein Update mit neuen Funktionen Oct 03, 2024 am 06:25 AM

Huawei führt weltweit die Softwareversion 5.0.0.100 (C00M01) für die Smartwatches Watch GT 5 und Watch GT 5 Pro ein. Diese beiden Smartwatches wurden kürzlich in Europa eingeführt, wobei das Standardmodell das günstigste Modell des Unternehmens ist. Diese Harmonie

Tekkens Colonel Sanders-Traum von KFC gebraten Tekkens Colonel Sanders-Traum von KFC gebraten Oct 02, 2024 am 06:07 AM

Katsuhiro Harada, der Regisseur der Tekken-Serie, versuchte einst ernsthaft, Colonel Sanders in das legendäre Kampfspiel einzubeziehen. In einem Interview mit TheGamer verriet Harada, dass er die Idee dem KFC Japan vorstellte, in der Hoffnung, die Fast-Food-Legende als Gast hinzuzufügen

Erster Blick: Durchgesickertes Unboxing-Video des kommenden Anker Zolo 4-Port 140W Wandladegeräts mit Display Erster Blick: Durchgesickertes Unboxing-Video des kommenden Anker Zolo 4-Port 140W Wandladegeräts mit Display Oct 01, 2024 am 06:32 AM

Anfang September 2024 wurde das 140-W-Ladegerät Zolo von Anker durchgesickert, und das war eine große Sache, da es sich um das erste Wandladegerät mit Display des Unternehmens überhaupt handelte. Jetzt gibt uns ein neues Unboxing-Video von Xiao Li TV auf YouTube einen ersten Blick auf den Hi

Die Samsung Galaxy Z Fold Special Edition soll Ende Oktober erscheinen, da ein widersprüchlicher Name auftaucht Die Samsung Galaxy Z Fold Special Edition soll Ende Oktober erscheinen, da ein widersprüchlicher Name auftaucht Oct 01, 2024 am 06:21 AM

Die Einführung des lang erwarteten faltbaren „Special Edition“-Modells von Samsung hat eine weitere Wendung genommen. In den letzten Wochen verliefen die Gerüchte um die sogenannte Galaxy Z Fold Special Edition eher ruhig. Stattdessen hat sich der Fokus auf die Galaxy S25-Serie verlagert, darunter

Der neue Xiaomi Mijia Graphene Oil Heater mit HyperOS ist da Der neue Xiaomi Mijia Graphene Oil Heater mit HyperOS ist da Oct 02, 2024 pm 09:02 PM

Xiaomi wird in Kürze den Mijia Graphene Oil Heater in China auf den Markt bringen. Das Unternehmen führte kürzlich eine erfolgreiche Crowdfunding-Kampagne für das Smart-Home-Produkt durch, die auf seiner Youpin-Plattform gehostet wurde. Laut der Seite hat der Versand des Geräts bereits begonnen

Garmin veröffentlicht über ein neues Update Verbesserungen der Adventure Racing-Aktivität für mehrere Smartwatches Garmin veröffentlicht über ein neues Update Verbesserungen der Adventure Racing-Aktivität für mehrere Smartwatches Oct 01, 2024 am 06:40 AM

Garmin beendet den Monat mit einer Reihe neuer stabiler Updates für seine neuesten High-End-Smartwatches. Um es noch einmal zusammenzufassen: Das Unternehmen hat die Systemsoftware 11.64 veröffentlicht, um den hohen Batterieverbrauch bei Enduro 3, Fenix ​​E und Fenix ​​8 zu bekämpfen (aktuell 1.099,99 $ bei Amazon).

Die Bewertungen von Cybertruck FSD loben den schnellen Spurwechsel und die Vollbildvisualisierung Die Bewertungen von Cybertruck FSD loben den schnellen Spurwechsel und die Vollbildvisualisierung Oct 01, 2024 am 06:16 AM

Tesla bringt die neueste Version 12.5.5 des vollständig autonomen Fahrens (Supervised) auf den Markt und bringt damit endlich die versprochene Cybertruck-FSD-Option mit, zehn Monate nachdem der Pickup mit der im Ausstattungspreis der Foundation Series enthaltenen Funktion in den Verkauf ging. F

Manjaro 24.1 „Xahea' startet mit KDE Plasma 6.1.5, VirtualBox 7.1 und mehr Manjaro 24.1 „Xahea' startet mit KDE Plasma 6.1.5, VirtualBox 7.1 und mehr Oct 02, 2024 am 06:06 AM

Mit einer Geschichte von über einem Jahrzehnt gilt Manjaro als eine der benutzerfreundlichsten Linux-Distributionen, die sowohl für Anfänger als auch für Power-User geeignet ist und einfach zu installieren und zu verwenden ist. Diese Arch-basierte Distribution wurde hauptsächlich in Österreich, Deutschland und Frankreich entwickelt

See all articles