A,B两数据库,A用于线上,B做数据仓库。定期把A中年月已久的数据转移到B中。
A中一些数据表没有直接的日期类型依据用来判断是否做增量备份,
但和某一些有日期类型的表 有一定逻辑关系,也就是参照关系。我的做法就是上面的:mysqldump-->B +B触发器再从A中select数据+delete A中已备份数据
想请教各位,
做增量备份大家有什么更好的方法推荐吗。
谢谢了(主从复制就不考虑了,因为我的情形是 备份及时性不需要很高。硬件方面的原因 主从复制感觉应该会影响应用性能)谢谢各位
A中一些数据表没有直接的日期类型依据用来判断是否做增量备份,
但和某一些有日期类型的表 有一定逻辑关系,也就是参照关系。我的做法就是上面的:mysqldump-->B +B触发器再从A中select数据+delete A中已备份数据
想请教各位,
做增量备份大家有什么更好的方法推荐吗。
谢谢了(主从复制就不考虑了,因为我的情形是 备份及时性不需要很高。硬件方面的原因 主从复制感觉应该会影响应用性能)谢谢各位
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#backup-strategy-example
那就用 select * from tablex where mdate >'2009-10-01' into outfile 'xxx.dat';然后B机上把这个 xxx.dat 复制然后load data 本也数据库进行处理。
当然也可以直接在B机上 mysqldump -h A机 dbname tbname --where "mydate>'2009-10-01'" > xxx.sql
然后再mysql -h B机 ... <xxx.sql
但有一个关键点:对于A中并不是所有数据表都有一个mdate 类似的日期类型,可用于判断是否做数据转移
A,B两数据库 ,A用于线上使用,B用于备份A的数据---注:A,B数据结构完全一致A中有表aa1,aa2,aa3
表aa1中有一日期字段tran_date用于判断是否需要转移数据,且主键item_id为表aa2,aa3的外键aa1:
item_id int(4) auto_increment
tran_date date not null
....
aa2:
item_id int(4) not null
payment_id int(4)
aa3:
item_id int(4) not null
shipping_id int(4)
受acmain_chm 的启发,
用 select * from aa1 where tran_date >'2009-10-01' into outfile 'aa1.dat'
select * from aa2,aa1
where aa2.item_id=aa1.item_id
and aa1.tran_date >'2009-10-01' into outfile 'aa2.dat'
但是 如果用 mysqldump 这样的方法 ,除了使用我上面提到trigger,还有没有其他方法呢
where aa2.item_id=aa1.item_id
and aa1.tran_date >'2009-10-01' into outfile 'aa2.dat'
如果这样,不如还是直接把A 上的BIN-LOG复制过来,然后 mysqlbinlog binlog.0000003 >xxx.sql , msyql <xxx.sql
第天定时跑一下。不过既然都这样了,为什么不直接用数据库复制功能?