如果我有两个具有相同定义的表格,我将如何每天备份它的数据?我可以使用MySQL管理员这个从一个表格到另一个表格的mySQL日常备份
- 上午12:00时每天演出一样的东西,复制所有从MAIN_TABLE行至backup_table
- 这将是最好,如果它是有些改变会在作出增量备份在backup_table中记录,我不希望新的备份消除这些更改。
感谢
如果我有两个具有相同定义的表格,我将如何每天备份它的数据?我可以使用MySQL管理员这个从一个表格到另一个表格的mySQL日常备份
感谢
让我们从这开始:在同一台服务器上将数据从一个表复制到另一个表不是备份。
现在,如果您有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
查询一样简单(这将复制任何新行,在现有行的更改将不会被复制)
至于实际备份,请阅读:
是的,你绝对可以做到这一点。看看这个页面:http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html
如果你仔细编写你的脚本,这样你不会丢掉表格并插入新行,你不必担心丢失数据。如果您为表格中的每一行都存储了时间戳记,这使事情变得更容易。您可以使用时间戳来加载/更新自上次批处理以来更改或添加的新行。
但是,在执行插入操作之前,始终需要对当前表进行备份。如果导入成功,您可以清理备份表。
用于事件调度程序。 – rkg 2010-12-19 22:50:34