首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL- -是否有可能在一段时间内备份mySQL数据库?

问MySQL- -是否有可能在一段时间内备份mySQL数据库?
EN

Stack Overflow用户
提问于 2013-08-26 06:28:17
回答 3查看 4K关注 0票数 2

我将在一段时间内备份mySQL数据库。例如:只备份1月至6月的数据。

有可能这样做吗?我想这么做的原因是我不想备份太老的数据库。如果可能的话,请给我一些建议。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-26 06:33:34

我假设您希望根据日期而不是表本身备份表行。

如果表中有date或timestamp列,则可以使用INTO OUTFILE查询根据日期备份某些行。

或者,在命令行中,可以使用mysqldump和--where选项。

见以下答案:MYSQL只转储某些行

票数 0
EN

Stack Overflow用户

发布于 2013-08-26 06:47:32

试试这个:

代码语言:javascript
复制
exec("mysqldump --opt -u$db_user -p$db_pass --no-create-info --where date >= '2013-08-01' my_database my_table > backup.sql");
票数 0
EN

Stack Overflow用户

发布于 2013-08-26 06:53:50

您有几种方法可以这样做,您可以使用shell脚本并将mysqldump作为cron作业运行,您应该只编写类似于以下脚本的内容,然后将其添加到您的crob作业中。

代码语言:javascript
复制
#!/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编辑钩编作业,并添加如下行:

代码语言:javascript
复制
* * * * * /usr/local/bin/php /home/moein/projects/WebService/index.php
#this cronjob executed every min.

在mysql中使用event获取backup.but的其他方式--您的mysql版本应该是> 5.1.8

更好的描述在mysql开发页。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18437910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档