Best way to archive live MySQL database

前端 未结 6 865
遥遥无期
遥遥无期 2020-12-08 05:11

We have a live MySQL database that is 99% INSERTs, around 100 per second. We want to archive the data each day so that we can run queries on it without affecting the main, l

6条回答
  •  Happy的楠姐
    2020-12-08 05:13

    http://www.maatkit.org/ has mk-archiver

    archives or purges rows from a table to another table and/or a file. It is designed to efficiently “nibble” data in very small chunks without interfering with critical online transaction processing (OLTP) queries. It accomplishes this with a non-backtracking query plan that keeps its place in the table from query to query, so each subsequent query does very little work to find more archivable rows.

    Another alternative is to simply create a new database table each day. MyIsam does have some advantages for this, since INSERTs to the end of the table don't generally block anyway, and there is a merge table type to being them all back together. A number of websites log the httpd traffic to tables like that.

    With Mysql 5.1, there are also partition tables that can do much the same.

提交回复
热议问题