如果我有2个具有相同定义的表,我将如何每天从中备份数据?我可以使用mySQL Administrator执行类似这样的操作吗
由于
答案 0 :(得分:2)
让我们从这开始:在同一台服务器上将数据从一个表复制到另一个表不是备份。
现在,如果你有MySQL 5.1.6或更新版本,你可以使用事件调度程序来安排这些操作。
http://dev.mysql.com/doc/refman/5.1/en/events.html
它应该像运行像这样的查询一样简单
INSERT INTO
secondarydatabase.tableName
SELECT pr.* FROM
primarydatabase.tableName AS pr
LEFT JOIN
secondarydatabase.tableName AS sec
USING(primaryKeyColumn)
WHERE sec.primaryKeyColumn IS NULL
(这将复制任何新行,现有行中的更改不会被复制)
就实际备份而言,请阅读:
答案 1 :(得分:0)
是的,你绝对可以做到。请查看此页面:http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html
如果您仔细编写脚本,以便不丢弃表并只插入新行,则无需担心丢失数据。如果您为表中的每一行存储了时间戳,那么事情就会变得容易多了。您可以使用时间戳来加载/更新自上次批处理运行以来已更改或添加的新行。
但是,在进行插入之前,最好先备份当前表。如果导入成功,您可以清理备份表。