Mysql数据库备份与同步的问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 14:52:04
目前是这样的
比如我们有两台服务器 之间没有连网
我第一台 和 第二台的数据库 结构是完全一样的
但是两台服务器产生的数据是不同的 但是他们的数据互不影响
我如何通过手动的方式去互相补充另一个数据库没有的数据库能

还有就是如何同步局域网内的机器里的数据库了.
1楼的方法是不可行的 如果数据多 难道还要一个一个改?

补充 :手动不手动不要紧 我的意思就是 需要两台机器同步数据的时候 能够解决就行

我想了一些方法
比如在程序里记录所有更改操作的sql语句 然后到另一个数据库执行一遍 但是这样会导致程序本身变慢;

还有就是导出这个数据库的sql文件 去掉里面不需要改的值 然后导入另一个数据库,但是这样会非常麻烦;

请各位高手想想办法吧

两台服务器产生的数据是不同的 但是他们的数据互不影响

假设你这两台机器名字叫A和B
你已经把数据记录都导出来了,是记录A和记录B
那么记录A假设是这个样子:
INSERT INTO `a` (`id`, `name`) VALUES
(1, 'a1'),
(2, 'a2'),
(3, 'a3');
你需要做的是:保证ID是自动递增的
然后,修改上面的SQL语句为
INSERT INTO `a` ( `name`) VALUES
('a1'),
('a2'),
('a3');
,然后倒入至机器B就行了

反之亦然
试试吧

!!!!!一定要做好备份!!!

兄弟很简单的.我现在用的最多的是DB2数据库我想数据库是相通的.
我现在做银行系统的 数据肯定要备份,肯定还要有备用机的, 那就要保证生产机和备份机的数据是一样的.
说说我现在的做法你可以参考下:

我现在是写个脚本.把数据库表里面的所以的数据导出来
DB2的命令是:db2 "export to 表名.ixf of ixf select * from 表名";
上述命令可以写个脚本.
然后再用
db2命令:db2 "load from 表名.ixf of ixf replace into 表名 nonrecoverable"
上面的命令是把你多余的数据导入进你的备机上不会覆盖原来表里面的数据.
nonrecoverable 加这个是为了不打日志.因为db2对数据库操作是要打日志的.日志满了就不让你操作命令了.
兄弟你明白了.

还有另一种做法就是你把一台机的表结构表空间表数据全部的导出来.然后用命令导入到另一台机器这样两台机器的数据库也会完全一样的.
你按照这个思路试试吧!db2数据库是可以这样做的.百试不爽!

你到网上搜下这个