【威尼斯正规官网】为此大家就得从主机 A 往主机 B 送资料
分类:博客热点

怎么使 Mysql 数据同步先要是有主机 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"State of Qatar; //连接主机B的数据库mysql_select_db("test"State of Qatar; //选用数据库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"State of Qatar; //收取主机A中table表与主机B中table表里不相同的资料$num=mysql_numrows($re);if (!empty($num)) {for ($i=0;$i$num;$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"State of Qatar;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.phpphp 原来是使用在网页应用的之所以它会送出 HTML 的 Header可是在那大家是要将 php 用作 Shell Script"-q" 便是象征毫不送出 Header 的意思.最终编辑 /etc/crontab 里的文本,加上上面这一句。0 0 * * * root /home/ //每一天下午零点执/home/文件(具体行使方法请查看cron的相关材质卡塔尔(قطر‎OK,到此地基本上就已变成Mysql 数据的一道了,借使各位还风乐趣的话,能够想二个连编辑、删除都能协同的越来越好的不二等秘书籍。

本文由威尼斯在线注册平台发布于博客热点,转载请注明出处:【威尼斯正规官网】为此大家就得从主机 A 往主机 B 送资料

上一篇:威尼斯正规官网上面就让大家来探视怎么着创制叁个数组,所以定义数组的时候只好用 = 下一篇:图表将不可能展现
猜你喜欢
热门排行
精彩图文