MySQL-可以在一段时间内备份​​mySQL数据库吗?

时间:2013-08-26 06:28:17

标签: mysql backup

我打算在一段时间内备份​​mySQL数据库。 例如:仅备份1月到6月的数据。

有可能吗?我想这样做的原因是我不想备份太旧的数据库。 如果有可能请给我一些建议如何做到这一点。 感谢。

3 个答案:

答案 0 :(得分:0)

我假设您要根据日期备份表ROWS,而不是表本身。

如果您的表格中包含datetimestamp列,则可以使用INTO OUTFILE查询根据日期备份某些行。

或者,从命令行,您可以将mysqldump与--where选项一起使用。

看到这个答案: MYSQL Dump only certain rows

答案 1 :(得分:0)

试试这个:

exec("mysqldump --opt -u$db_user -p$db_pass --no-create-info --where date >= '2013-08-01' my_database my_table > backup.sql");

答案 2 :(得分:0)

你有几种方法可以做,你可以使用shell脚本并运行mysqldump作为cronjob,你应该只写下面的脚本,然后将它添加到你的crobjob。

#!/bin/bash
mysqldump --add-drop-table -h <hostname> -u <username> --password=<password> --all-databases > backup.sql
filename="backup.sql."`eval date +%Y%m%d`".tgz"
tar -czf $filename backup.sql 
rm backup.sql 

然后按crontab -e编辑crobjob并添加如下行:

* * * * * /usr/local/bin/php /home/moein/projects/WebService/index.php
#this cronjob executed every min.

其他方式你可以在mysql中使用event来获得备份。但是你的mysql版本应该是&gt;的 5.1.8

mysql dev page更好的描述。