数据库备份
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 -h20.150.100.119 -P3306 -p ifly_cpcc_ad_statis_v2 -e "show tables"|grep -Ev 'hour|Tables_in'|xargs mysqldump -uifly_ad -h20.150.100.119 -P3306 -p ifly_cpcc_ad_statis_v2 >ifly_cpcc_ad_statis_v2_$(date +%F).sql