MySQL使用pt-archiver归档历史数据

傷城~ 2024-04-18 00:43 131阅读 0赞

pt-archiver可以将表按照指定条件归档到历史数据库中,也支持文件导出,对于归档清理线上历史数据非常方便。
如果要归档表的数据到历史数据库的表中,需要预先在历史数据库中创建表结构。

(1) 按照条件归档表中的历史数据到历史数据中,同时在本地生成归档文件

  1. # 在历史数据库(192.168.56.102)中创建归档表

  2. mysql> CREATE TABLE `emp` (

  3. -> `id` int(11) NOT NULL,

  4. -> `name` varchar(15) DEFAULT NULL,

  5. -> PRIMARY KEY (`id`)

  6. -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  7. Query OK, 0 rows affected (0.60 sec)

  8. # 查看源表

  9. mysql> select * from emp;

  10. +--------+---------+

  11. | id | name |

  12. +--------+---------+

  13. | 10 | Neo |

  14. | 10036 | test |

  15. | 10037 | test |

  16. | 10038 | test |

  17. | 10039 | test |

  18. | 10040 | MySQL01 |

  19. | 10041 | MySQL01 |

  20. | 10042 | MySQL01 |

  21. | 100100 | test |

  22. | 100101 | test |

  23. | 100103 | test |

  24. | 100104 | test |

  25. | 100105 | test |

  26. | 100106 | test |

  27. | 100107 | test |

  28. | 100108 | test |

  29. +--------+---------+

  30. # 归档id小于200000的数据到历史库和本地文件

  31. # pt-archiver —source h=192.168.56.101,P=3307,u=neo,p=neo,D=sale,t=emp —dest h=192.168.56.102,P=3306,u=sale,p=sale,D=test,t=emp —where “id<=200000” --charset=utf8 —limit 1000 —commit-each —file ‘/opt/%Y-%m-%d-%D.%t’

  32. # 查看源表

  33. mysql> select * from emp where id < 200000;

  34. Empty set (0.05 sec)

  35. # 查看历史表

  36. mysql> select * from emp limit 2;

  37. +--------+------+

  38. | id | name |

  39. +--------+------+

  40. | 100100 | test |

  41. | 100101 | test |

  42. +--------+------+

  43. 2 rows in set (0.00 sec)

  44. # 查看本地归档文件(相当于select … into导出)

  45. # cat /opt/2018-03-19-sale.emp

  46. 10 Neo

  47. 10036 test

  48. 10037 test

  49. 10038 test

  50. 10039 test

  51. 10040 MySQL01

  52. 10041 MySQL01

  53. 10042 MySQL01

(2) 清理过期历史数据

  1. # pt-archiver —source h=192.168.56.101,P=3306,u=neo,p=neo,D=test,t=item_order —where “order_date < ‘2018-03-01’” --charset=utf8 —purge --limit 1000 —commit-each

  2. # 查看清理后的表中数据

  3. mysql> select * from item_order where order_date < ‘2018-03-01’;

  4. Empty set (0.00 sec)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-2152126/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26506993/viewspace-2152126/

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读