搜索
首页数据库mysql教程怎么使 Mysql 数据同步_MySQL
怎么使 Mysql 数据同步_MySQLJun 01, 2016 pm 02:05 PM
test主机同步怎么数据数据库资料

先假设有主机 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 数据的同步了,如果各位还有兴趣的话,可以想一个连编辑、删除都能同步的更好的办法。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
解决win11中同时播放耳机和音响的问题解决win11中同时播放耳机和音响的问题Jan 06, 2024 am 08:50 AM

一般来说,我们只需要同时使用耳机或者音响的其中一个设备,但是有些朋友反映在win11系统中,遇到了耳机和音响一起响的问题,其实我们可以在realtek面板中将它关闭,就可以了,下面一起来看一下吧。win11耳机和音响一起响怎么办1、首先在桌面上找到并打开“控制面板”2、进入控制面板,在其中找到并打开“硬件和声音”3、然后再找到一个喇叭图标的“Realtek高清晰音频管理器”4、选择“扬声器”再点击“后面板”进入扬声器设置。5、打开之后我们可以看到设备类型,如果要关闭耳机就取消勾选“耳机”,如果要

您同步的文件夹中的一个或多个项目不匹配Outlook错误您同步的文件夹中的一个或多个项目不匹配Outlook错误Mar 18, 2024 am 09:46 AM

当您在您的同步文件夹中发现一个或多个项目与Outlook中的错误消息不匹配时,这可能是因为您更新或取消了会议项目。这种情况下,您会看到一条错误消息,提示您的本地数据版本与远程副本存在冲突。这种情况通常发生在Outlook桌面应用程序中。您同步的文件夹中的一个或多个项目不匹配。若要解决冲突,请打开这些项目,然后重试此操作。修复同步的文件夹中的一个或多个项目不匹配Outlook错误在Outlook桌面版中,当本地日历项与服务器副本发生冲突时,可能会遇到问题。不过,幸运的是,有一些简单的方法可以帮助您

MySql的数据迁移和同步:如何实现多台服务器之间的MySQL数据迁移和同步MySql的数据迁移和同步:如何实现多台服务器之间的MySQL数据迁移和同步Jun 15, 2023 pm 07:48 PM

MySQL是一个非常流行的开源关系型数据库管理系统,广泛应用于各种Web应用、企业系统等。在现代业务的应用场景下,大多数的MySQL数据库需要部署在多台服务器上,以提供更高的可用性和性能,这就需要进行MySQL数据的迁移和同步。本文将介绍如何实现多台服务器之间的MySQL数据迁移和同步。一.MySQL数据迁移MySQL数据迁移指的是将MySQL服务器中的数

教你如何将win10剪贴板与手机同步教你如何将win10剪贴板与手机同步Jan 06, 2024 am 09:18 AM

win10剪贴板有个非常好用的功能就是跨设备云储存功能,非常的好用可以帮助用户PC设备和手机设备同步复制黏贴。设置的方法非常简单,只要在系统里的剪切板设置就好。win10剪贴板同步到手机1、首先点击左下角的开始,进入设置。2、然后去点击“系统”。3、选择左侧的“剪贴板”。4、最后在右边的“跨设备同步”中点击登录,然后选择手机就好了。

如何在 Windows 11 的 OneDrive 中选择要同步的特定文件夹如何在 Windows 11 的 OneDrive 中选择要同步的特定文件夹Apr 13, 2023 pm 04:22 PM

您系统上的 OneDrive 应用程序将所有文件和文件夹存储在云端。但有时用户不希望某些文件或文件夹被存储并占用限制为 5 GB 的 OneDrive 空间而无需订阅。为此,OneDrive 应用程序中有一个设置,允许用户选择要在云上同步的文件或文件夹。如果您也在寻找这个,那么这篇文章将帮助您在 Windows 11 系统的 OneDrive 中选择要同步的文件夹或文件。如何在 Windows 11 的 OneDrive 中选择要同步的某些文件夹注意:确保 OneDrive 应用程序已连接并同步

百度云同步盘怎么同步百度云同步盘怎么同步Feb 23, 2024 pm 01:22 PM

百度云同步盘怎么同步?百度云同步盘中可以选择文件来同步,但是多数的用户不知道如何同步百度云文件,接下来就是小编为用户带来的百度云同步盘同步方法图文教程,感兴趣的用户快来一起看看吧!百度云同步盘怎么同步1、首先进入电脑桌面,右键点击【百度云同步盘】图标,选择【设置】;2、之后展开服务小窗口,切换到【高级设置】页面点击【选择文件夹】;3、最后切换到下图的页面,勾选需要同步的文件点击【确定】即可。

Python 并发编程中的锁与同步:保持你的代码安全可靠Python 并发编程中的锁与同步:保持你的代码安全可靠Feb 19, 2024 pm 02:30 PM

并发编程中的锁与同步在并发编程中,多个进程或线程同时运行,这可能会导致资源争用和不一致性问题。为了解决这些问题,需要使用锁和同步机制来协调对共享资源的访问。锁的概念锁是一种机制,它允许一次只有一个线程或进程访问共享资源。当一个线程或进程获得锁时,其他线程或进程将被阻止访问该资源,直到锁被释放。锁的类型python中有几种类型的锁:互斥锁(Mutex):确保一次只有一个线程或进程可以访问资源。条件变量:允许线程或进程等待某个条件,然后获取锁。读写锁:允许多个线程同时读取资源,但只允许一个线程写入资

iPhone与win10日历同步iPhone与win10日历同步Jan 02, 2024 pm 12:53 PM

很多小伙伴想把win10电脑日历和自己的苹果手机日历同步,这个该如何解决呢?我们可以通过iCloud账号,分别登陆AppleID,获取密码,再登陆日历的账户解决这个问题,下面一起来看详细的教程吧。win10日历同步iphone的方法1、先打开AppleID的登陆界面,通过双重验证,输入手机的验证码,然后登陆向左2、在安全中选择“生成密码”3、输入密码标签,然后官网就会给你一个密码。将这个密码复制下来(不是你原来登陆iCloud的密码,是一个新的密码)4、打开日历——添加账户——选择iCloud—

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境