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

发布时间:2022-11-17

本文目录一览:

  1. mysql数据库如何实现定期删除数据库一些东西
  2. mysql删除库
  3. mysql中怎么删除一个数据库
  4. linux下mysql自动备份数据库与自动删除临时文件

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删除数据库的基本语法格式如下:

DROP DATABASE [IF EXISTS] db_name;

其中“db_name”是要删除的数据库名称,如果指定数据库名不存在,则删除出错。 如果按照楼主说的情况,只需要在句子后面加 IF EXISTS db_name 即可。

mysql中怎么删除一个数据库

MySQL 删除数据库 删除数据库是将已经存在的数据库从磁盘空间中清除,连带着数据库中的所有数据也全部被删除。 MySQL删除数据库的基本语法格式如下:

DROP DATABASE [IF EXISTS] db_name;

其中“db_name”是要删除的数据库名称,如果指定数据库名不存在,则删除出错。 例子:删除数据库 删除数据库shulanxt,输入语句如下:

DROP DATABASE 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
  1. 创建 /usr/sbin/bakmysql 文件 查找数据库库文件的路径: 一般都是:/var/lib/mysql,或者 /usr/local/mysql/var 查找方法:
  • /usr/local/mysql/bin/mysql -u root -p 进入数据库
  • 输入:SHOW DATABASES;
  • 这是可以查看到所有的数据库,然后使用 find / -name db(db为数据库名) 之后:
vi /usr/sbin/bakmysql

输入:

rq=`date +%Y%m%d`
tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql
  1. 修改文件属性,使其可执行:
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