Linux下mysql数据库如何定期备份与删除

Linux下mysql数据库如何定期备份与删除,第1张

首先,创建备份文件夹mkdir /mysql/mysqldata_bakeup;创建并编辑文件在路径 /usr/sbin/bakmysql,命令:vi /usr/sbin/bakmysql。此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入;fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fntargz /mysql/data 然后修改文件bakmysql属性,使其可执行chmod +x /usr/sbin/bakmysql 修改/etc/crontab vi /etc/crontab 进入编辑状态,在最下面添加:01 3 root /usr/sbin/bakmysql

01 3 是每天凌晨3:01执行 bakmysql文件;懂了吗?

很简单的东西。

首先,用存储过程封装你要处理的语句。

其次,用数据库作业来调度存储过程。

明白没有

什么玩意都要例子,这个玩意儿真没有。要是搞不明白,搞qq远程,让本人给讲解。

你 看看javasql;吧

private static class MyTask extends TimerTask

{

private String url="依照你数据库类别不同而不同";

private String sql="sql语句";

private String driver="数据库jdbc驱动类";

private Connection conn=null;

private PreparedStatement sta=null;

ClassforName(driver);

public void run()

{

conn=getConnection(url);

sta=connprepareStatement(sql);

staexecute(); //执行

staclose();

connclose();

}

}

假设A表是原来的表,B表是要转的表 如果你想转出后的数据完全是A表的数据,且B表结构和A表一样 你可以这样 select from A into B go drop Table A go 这个就顺利的把A表删除,并且数据全部到B表 如果只是转出一部分可以,并在A表中删除者部分数据 select from A into B where 你的条件 go delete from A where 条件要和上面的一样就可以了 go 3。如果你的B表是本来存在的,且里面已经有数据了 你只能 insert into B(Field1,Field2,) select Field1,Field2, from A where 条件(如果是全部A表数据可没有条件) go delete from A where 条件(如果是全部A表数据可没有条件) go 不知道楼主到底是什么意思,我的回答是否能给楼主点启发

用定时作业。。。触发器无法实现

1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->

2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->

分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->

描述[填写本次工作详细描述内容];

[ 创建作业分类的步骤:

SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]

3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->

数据库[要 *** 作的数据库]->命令

[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的sql文件

如果要执行存储过程,填

exec p_procedure_name v_parameter1,[ v_parameter2…v_parameterN]

]

->确定

(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);

4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->

更改[调度时间表]->确定

(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);

5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows应用程序系统日志] ->确定。

跟作业执行相关的一些SQL Server知识:

SQLSERVERAGENT服务必须正常运行,启动它的NT登录用户要跟启动SQL Server数据库的NT登录用户一致。

点作业右键可以查看作业执行的历史记录情况,也可以立即启动作业和停止作业。

最近在看作业历史记录时,发现有的作业记录的历史记录多,有的作业记录的记录的历史记录少

如何能使某些作业按各自的需求,保留一段时间比如保留一个月的历史记录

看了SQL Server的在线帮助文档,里面介绍说:

在管理->SQL Server代理->右键选属性->作业系统->限制作业历史记录日志的大小->

作业历史记录日志的最大大小(行数) 默认为1000 如果某台机器的作业数量很多,一定要提高它,例如为100000

每个作业历史记录日志的最大行数 默认为100 如果作业每天执行两次,需要保留一个月的日志,可以设为60

以上就是关于Linux下mysql数据库如何定期备份与删除全部的内容,包括:Linux下mysql数据库如何定期备份与删除、请问如果要在数据库SQL Server 2000中设定定期删除功能,比如每天八点开始删除两个月之前的数据,怎么写、java 定时器删除数据库记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9776367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存