首页 > 编程知识 正文

mysql自动删除数据库库,mysql数据库删除数据

时间:2023-12-26 02:46:20 阅读:322540 作者:CUHP

本文目录一览:

mysql数据库如何实现定期删除数据库一些东西

MySQL 5.1以后版本中有 Event ,这是类似Oracle中的job 可以通过创建Event,然后在里面调用删除过期记录的存储过程即可实现 定时每天备份mysql并定时删除上月记录(脚本) ouwsh | September 3, 2009 10:41 | Linux/Unix相关 | 阅读(1536) | 评论(0) shell脚本:

备份的脚本比较简单:

#!/bin/bash

# 定义年 月 日

year=`date +%Y`

month=`date +%m`

day=`date +%d`

# 定义备份的目录

BACKDIR=/bak_1/mysql/$year/$month/$day

# MySQL的root密码

ROOTPASS=123456

# 建立目录

mkdir -p $BACKDIR

# 获取数据库列表

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# 备份

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy

done

复制代码上面的脚本将数据库按"年/月/日"目录结构备份,将脚本存为back.sh添加到cron里每天凌晨3点执行

crontab -e

00 03 * * * root /root/back.sh

下面的是每月3号删除上个月的备份,存为del_bak.sh,每月3号3点3分执行

03 03 03 * * root /root/del_bak.sh

注意脚本上传后,要chmod一下权限,比如

chmod 755 /root/back.sh

#!/bin/bash

# 定义年 月 日

year=`date +%Y`

month=`date +%m`

#day=`date +%d`

# 取上一个月

month=`expr $month - 1`

# 如果是1月,则上一月为12,并且年也减1

if [ $month -eq 0 ]; then

month=12

day=31

year=`expr $year - 1`

fi

# 因为备份时小于10月的月份有前导零,所以这里判断如果小于10月,则加前导零

if [ $month -lt 10 ]; then

pre=0

fi

#获取要删除的目录名

BACKDIR=/bak1/mysql/$year/$pre$month

#删除了

rm -rf $BACKDIR

重新启动crond

/etc/rc.d/init.d/crond restart

mysql删除库

MySQL 删除数据库

删除数据库是将已经存在的数据库从磁盘空间中清除,连同数据库中的所有数据也全部被删除。

MySQL删除数据库的基本语法格式如下:

其中“db_name”是要删除的数据库名称,如果指定数据库名不存在,则删除出错。

如果按照楼主说的情况,只需要在句子后面加 IF EXISTS db_name 即可。

mysql中怎么删除一个数据库

MySQL 删除数据库

删除数据库是将已经存在的数据库从磁盘空间中清除,连带着数据库中的所有数据也全部被删除。

MySQL删除数据库的基本语法格式如下:

其中“db_name”是要删除的数据库名称,如果指定数据库名不存在,则删除出错。

例子:删除数据库

删除数据库shulanxt,输入语句如下:

执行上述语句,数据库shulanxt被删除。

linux下mysql自动备份数据库与自动删除临时文件

一、每日23:00自动删除临时文件

首先查看一下crontab的任务列表:

crontab

-l

然后新建:

crontab

-e

添加一行:

00

03

*

*

*

rm

-rf

/www/cmstest/my120/public/scripts/jpgraph/*

保存退出。

重启服务:

/etc/rc.d/init.d/crond

restart

二、每日24:00自动备份数据库

利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。

1、创建保存备份文件的路径/mysqldata

#mkdir

/mysqldata

2、创建/usr/sbin/bakmysql文件

查找数据库库文件的路径:

一般都是:/var/lib/mysql,或者,/usr/local/mysql/var

查找方法:

1、/usr/local/mysql/bin/mysql

-u

root

-p

进入数据库

2、输入:show

databases;

3、这是可以查看到所有的数据库,然后

4、find

/

-name

db(你想查找的数据库名)

之后:#vi

/usr/sbin/bakmysql

输入

复制代码

代码如下:

rq=`

date

+%Y%m%d

`

tar

zcvf

/mysqldata/mysql$rq.tar.gz

/var/lib/mysql

3、修改文件属性,使其可执行

#

chmod

+x

/usr/sbin/bakmysql

新建任务:

首先查看一下crontab的任务列表:

crontab

-l

然后新建:

crontab

-e

添加一行

00

04

*

*

*

/usr/sbin/bakmysql

表示每天24点钟执行备份

4、重新启动crond

#

/etc/rc.d/init.d/crond

restart

此后每天就可以在/mysqldata中看到类似下的文件了:mysql20040619.tar.gz。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。