gpt4 book ai didi

mysql - 在mysql中进行选择性备份

转载 作者:行者123 更新时间:2023-11-30 01:30:50 25 4
gpt4 key购买 nike

我有一个 mysql 数据库,其中有一个表,其中包含超过 6 个月的数据,数据量达到 1.5 GB。我只想备份 4 天。然后将其放入同一系统中的其他数据库中。

请建议我如何进行仅 4 天的选择性备份。我正在使用 mysql gui 工具。

谢谢

编辑

CREATE TRIGGER backup BEFORE INSERT ON table_from  FOR EACH ROW BEGIN
INSERT INTO table_to SET (col1,col2,col3,col4) = (NEW.col1,new.col2,new.col3,new.col4);
END;

我在哪里放置查询来插入所需的行数。我尝试单独运行您的查询,它在查询中显示错误。

最佳答案

首先确保表中有一个 DateTime/Timestamp 列,其中包含上次修改时间,以便您知道需要备份哪些数据。默认情况下,MySQL 不会为每条记录存储此信息,因此如果您需要它,则需要创建它,并且对于表的大小,您可能需要为其建立索引。

如果您要复制到的数据库位于同一系统上,那么您所需要做的就是运行单个查询。像这样的东西会起作用。这会将 db_from.my_cool_table 中的所有数据复制到 db_to.my_cool_table

INSERT (col1, col2, col3 ...) INTO db_to.my_cool_table
SELECT col1, col2, col3 FROM db_from.my_cool_table WHERE modification_time > DATE_SUB(Now(), INTERVAL -4 DAY)

您还可以考虑添加一个触发器,该触发器将自动实时地将 db_from.my_cool_table 中的每条记录插入/更新/删除到 db_to.my_cool_table 中,因此您永远不需要运行此备份脚本。参见这里:http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

关于mysql - 在mysql中进行选择性备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17481758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com