本文目錄一覽:
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。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/152853.html