关于MySql同步的问题.

来源:百度知道 编辑:UC知道 时间:2024/07/05 05:30:23
我在一台有公网IP的服务器上装有MySql,有几台部分没公网IP的客户机上也装有MYSQL,用户数据操作都在客户机上进行操作,我现在想利用有公网IP的那台服务器来实现全部客户机的数据的同步。不知道用mysqldump能否实现像差异备份来进行同步。我现在的想法是如A客户机想同步其它客户机数据,首先它就得先把自己的数据同步到有公网IP那台服务器,A机再同步有公网IP服务器的数据,不管其它机器是否己经同步了。
请问一下有什么方法能实现数据都集中到公网IP的MySql服务器上,再提给客户机进行同步。
注:不能用MySql的二进制文件方法实现实时同步,因为我要做的是:如客户机A固定某一时间把数据同步到公网服务器,同步完成后立即进行同步公网服务器数据。可不考虚有主键重复等问题。
@阳光上的桥
请注意。。我己经说明了不能用二进制日志文件来进行实时同步了,因为我要做的是定某个时间才去同步数据,如果能让手动执行二进制日志文件同步还是可以的,但具体怎么做呢?而且必须有多个MySql服务器。。

@ 无缘☆与酒
对于你的回得我只能无语了,请看清我的问题,我的问题不是不能访问。

@xiaoyu9805119
我也是这样想的,但是问题来了,我想知道mysqldump恢复的数据能否达到像增量备份那样的获果吗?因为我不可能从A服务器备过来恢复的数据把B的数据给丢了,因为B服务器有可能有新的数据。

@阳光上的桥
你的回答我觉得是个不错的方案,我就会生成二进制的日志,但使用“-l”参数的文本日志我没用过,这是生成二进制的“log-bin=MySqlLogName”,不知道参数加到那里,能举个例子吗?

@阳光上的桥
mysqlbinlog是可以查看....但我不想程序调用mysqlbinlog,,还有没有其它的方法?非常感谢你的答案,看看还有没有其它答案,要没就结贴。

使用二进制日志来完成同步,把各客户机的二进制日志还原为SQL文件,然后分别在服务器数据库上执行一遍,最后使用服务器数据库覆盖各客户机数据库即可。

mysqlbinlog.exe:用于处理二进制日志文件的实用工具。服务器生成的二进制日志文件写成二进制格式。要想检查这些文本格式的文件,应使用mysqlbinlog实用工具。

c:\> mysqlbinlog [options] log-files...

例如,要想显示二进制日志binlog.000003的内容,使用下面的命令:

c:\> mysqlbinlog binlog.0000003

输出包括在binlog.000003中包含的所有语句,以及其它信息例如每个语句花费的时间、客户发出的线程ID、发出线程时的时间戳等等。

既然不能用二进制log来同步,那就只好定时mysqldump下库,然后scp或者共享到其他机器,再恢复一下数据库。



局域网可以的

你的访问Ip正确就可以了撒~~