每个月对超过两年的历史数据进行导出备份,然后从数据库中删除超过两年的数据,想请教大家有什么算法可以实现啊
由于刚接触mysql,上面又催的急,能否贴个procedure出来,谢谢啊
9 个解决方案
#1
问题补充:是每个月定时执行一次,shell脚本该怎么写
#2
可以用linux的计划任务crontab 或者 mysql本身的event来实现
#3
谢谢啊,现在纠结的是脚本内容或者event内容不会啊,主要数据是三张大表,里面都有时间字段的
#4
建议每天删除点
#5
用.sql文件来实现啊...
将脚本写在sql文件中,然后linux定期执行此sql文件
E:\test.sql
show databases;
CMD
D:\>mysql -u root -pabcdefg -hlocalhost < E:\test.sql
用同样的方法,在Linux上建立一个sql(假设创建在/home目录下的 backup.sql),之后
vi /etc/crontab
在最后一行添加
30 4 1 * * root cd /home && mysql -u root -pyourpswd -h localhost < backup.sql
保存退出
这样每月1号的4点半就会自动执行/home/backup.sql这个脚本了
至于sql脚本内容,你就把他当成是在mysql命令行下输入命令就可以了
#6
http://topic.csdn.net/u/20091020/22/c51bb709-6dbc-4fd1-b874-077714ed547e.html
另征集定时执行mysql数据库任务方案。
另征集定时执行mysql数据库任务方案。
#7
假如你描述的时间字段是datetime类型的,字段名称是t,你可以这样
mysqldump 若干参数 where="TO_DAYS(NOW())-TO_DAYS(t)>730"
然后delete
然后在import
优化:可以穿件一个timstamp列,保存datetime的unix_timestamp值,然后给这个建一个索引,整个过程会快很多。
#8
用MYSQL的EVENT,直接把数据插入到另外一个备份库,然后删除掉本身。
#9
1、用MYSQL自己的EVENT;
2、用语言编制程序,在系统的任务中调用
MYSQLDUMP --add-drop-database -uroot -B -E -R -p123 ZZ>r:\temp\123.TXT
2、用语言编制程序,在系统的任务中调用
MYSQLDUMP --add-drop-database -uroot -B -E -R -p123 ZZ>r:\temp\123.TXT
#1
问题补充:是每个月定时执行一次,shell脚本该怎么写
#2
可以用linux的计划任务crontab 或者 mysql本身的event来实现
#3
谢谢啊,现在纠结的是脚本内容或者event内容不会啊,主要数据是三张大表,里面都有时间字段的
#4
建议每天删除点
#5
用.sql文件来实现啊...
将脚本写在sql文件中,然后linux定期执行此sql文件
E:\test.sql
show databases;
CMD
D:\>mysql -u root -pabcdefg -hlocalhost < E:\test.sql
用同样的方法,在Linux上建立一个sql(假设创建在/home目录下的 backup.sql),之后
vi /etc/crontab
在最后一行添加
30 4 1 * * root cd /home && mysql -u root -pyourpswd -h localhost < backup.sql
保存退出
这样每月1号的4点半就会自动执行/home/backup.sql这个脚本了
至于sql脚本内容,你就把他当成是在mysql命令行下输入命令就可以了
#6
http://topic.csdn.net/u/20091020/22/c51bb709-6dbc-4fd1-b874-077714ed547e.html
另征集定时执行mysql数据库任务方案。
另征集定时执行mysql数据库任务方案。
#7
假如你描述的时间字段是datetime类型的,字段名称是t,你可以这样
mysqldump 若干参数 where="TO_DAYS(NOW())-TO_DAYS(t)>730"
然后delete
然后在import
优化:可以穿件一个timstamp列,保存datetime的unix_timestamp值,然后给这个建一个索引,整个过程会快很多。
#8
用MYSQL的EVENT,直接把数据插入到另外一个备份库,然后删除掉本身。
#9
1、用MYSQL自己的EVENT;
2、用语言编制程序,在系统的任务中调用
MYSQLDUMP --add-drop-database -uroot -B -E -R -p123 ZZ>r:\temp\123.TXT
2、用语言编制程序,在系统的任务中调用
MYSQLDUMP --add-drop-database -uroot -B -E -R -p123 ZZ>r:\temp\123.TXT