最近技术部经历让我做一个项目。服务器上的一个项目由于客户越来越多,有些表的数据量越来越大,为了提高查询速度,需要将五张表的三个月前的数据放入到另一个数据库中。
我想就写个Linux版的脚本文件吧,让它每天执行一次。自动运行,然后每天把老的数据从老数据库中查出来放到另一个数据库中。
其中.sh文件的写法为
user=root password=root cd /usr/local/mysql/bin ./mysql -u$user -p$password < /usr/sql/auto.sql
让它去调用.sql脚本文件。
//指明要使用哪个数据库
use gjcxadc_bak;
//取消外键关联
SET FOREIGN_KEY_CHECKS=0;
//将数据库gjcxadc中callin表里的距当前时间大于90天的,且在 ajcxadc_bak数据库的callin表里没有的数据放入当前数据库的callin表。
insert into callin (select * from gjcxadc.callin where DateDiff(CurDate(),gjcxadc.callin.create_date)>90
and gjcxadc.callin.callin_sid not in (select callin_sid from callin));
//删除数据
delete from gjcxadc.callin where where DateDiff(CurDate(),gjcxadc.callin.create_date)>90;
然后运行脚本文件程序:
sh 路径/文件名.sh
至于怎么在特定时间执行将在另一篇文章中说明。