數據庫備份
mysqldump -uroot -p123456 -P3306 --single-transaction database_name >/data/dbname.sql.gz
注:生產環境中,如果加上--single-transaction,備份的時候就不會鎖表了。
mysql 多表批量備份
把在fang 庫中,所有含 kk 的表備份出來
for i in ` mysql -uroot -p123123 -e "use fang;show tables" | grep 'kk' `
do
mysqldump -uroot -p123123 fang $i > /root/j_$i
done
mysql 命令解析
-u 接用戶名
-p 接密碼
-P 接端口號
-e 接具體的數據庫sql,注意,需要加引號,引起了sql
grep 相關命令
-i 忽略字母大小寫
-v 選上的被排除了
注意:其中符號作用爲先執行
中命令先
mysql 多表批量恢復
mysql 多庫多表批量備份
搜索所有含有aa的庫名,再從庫中搜索所有含有kk的表,導出數據(所需要的表)
for db in ` mysql -uroot -p123123 -e "show databases" | grep 'aa' `
do
for i in ` mysql -uroot -p123123 -e "use $db ;show tables" | grep 'kk' `
do
mysqldump -uroot -p123123 fang $i > /root/j_$db_$i
done
done
mysql 多庫多表批量恢復
批量過濾備份數據庫表
mysql -uifly_ad -h10.150.100.119 -P3306 -p ifly_cpcc_ad_statis_v2 -e "show tables"|grep -Ev 'hour|Tables_in'|xargs mysqldump -uifly_ad -h10.150.100.119 -P3306 -p ifly_cpcc_ad_statis_v2 >ifly_cpcc_ad_statis_v2_$(date +%F).sql