前兩天寫了乙個刪除180天的備份指令碼。
今天領導說,需要對那些刪除的表做備份操作,之後放在冷盤上供後續審計。
具體指令碼如下:
#!/bin/bash
# mysql vars
db_host=$1
db_point=$2
db_user=$3
db_pass=$4
db_name="zactemp"
mysqldump_opt="--opt --events --ignore-table=mysql.events --set-gtid-purged=off "
# others vars
date=`date +%y%m%d_%h%m`
bin_dir="/usr/local/mysql/bin"
back_dir="/data/backup/mysql/$/$/$"
# get table_names
table_names=`$/mysql -h$ -u$ -p$ -d $ -e "select t.table_name from information_schema.tables t where t.table_schema = '$' and t.create_time <= date_add(now(),interval -180 day) and t.create_time > date_add(now(),interval -181 day);" | egrep -v "table_name"`
# todo mysqldump
[ -d $ ] || mkdir -p $
# mysqldump all databases
echo "**********$databases backups start**********" >>$/../mysqldump_backup.log
for table_name in $; do
sleep 1
$/mysqldump $ -h$ -p$ -u$ -p$ -b $ --tables $ > $/$_$.sql
[ $? == 0 ] && echo "$:mysqldump $ success." >>$/../mysqldump_backup.log || echo "$:mysqldump $ err,please check." >>$/../mysqldump_backup.log
done
echo "**********$databases backups over**********" >>$/../mysqldump_backup.log
# tar backup
cd $/../ && tar -zcvf $.tar.gz $ --remove-files
再配合這個以下指令碼可以實現多台機器一起備份
#!/bin/bash
cd /root/crontab_shell
#./zactemp_dumper.sh 127.0.0.1 3306 za_root password
./zactemp_dumper.sh 10.18.32.9 3306 za_root password
再配合之前那個定期刪除的,就可以形成自動備份自動清理。 mysql遷移 備份資料表,匯出表資料與結構
在伺服器上部署的爬蟲成功的爬取了一些資料,現在需要把這個表遷移到另一台主機 mysql u 使用者名稱 p輸入密碼後進入mysql命令列 顯示資料庫的表 show databases use information schema 通過顯示表的大小,確認爬取的表是哪個表 select table na...
Mysql資料表備份
用mysqldump備份資料 同mysqlimport一樣,也存在乙個工具mysqldump備份資料,但是它比sql語句多做的工作是可以在匯出的檔案中包括sql語 句,因此可以備份資料庫表的結構,而且可以備份乙個資料庫,甚至整個資料庫系統。mysqldump options database tab...
mysql備份,備份資料,資料庫,表結構
mysql mysqldump 這裡我的資料庫先叫做xmen 備份資料庫 如下 mysqldump 資料庫名 資料庫備份名 mysqldump a u使用者名稱 p密碼 資料庫名 資料庫備份名 mysqldump d a add drop table uroot p sql 1.匯出結構不匯出資料 ...