最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL備份時(shí)排除指定數(shù)據(jù)庫(kù)的方法

 更新時(shí)間:2016年03月28日 11:19:40   作者:lirulei90  
這篇文章主要介紹了MySQL備份時(shí)排除指定數(shù)據(jù)庫(kù)的方法的相關(guān)資料,需要的朋友可以參考下

使用mysqldump命令備份時(shí)候,--all-databases 可以備份所有的數(shù)據(jù)庫(kù)。 使用ignore-table 還可以排除制定的表。但是,mysqldump沒有參數(shù)可以排除數(shù)據(jù)庫(kù)的。

要備份的數(shù)據(jù)庫(kù)少的時(shí)候,可以通過mysqldump -uroot -p123456 --databases db1 db2 db3 > mysqldump.sql 這樣來備份。

但是假如數(shù)據(jù)庫(kù)有數(shù)十個(gè)的話,這樣寫起來很累人,也很low。解決辦法還是有的,看下面:

【下面演示用的mysql用戶名的root,密碼123456】

mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql|test" |xargs mysqldump -uroot -p123456 --databases > mysqldump1.sql

但是很不幸的是,在mysql5.5上執(zhí)行備份時(shí)報(bào)錯(cuò)了。

查了下資料,發(fā)現(xiàn)是由于5.5以后,mysql的performance_schema庫(kù)導(dǎo)致的。那我們備份時(shí)跳過該庫(kù)即可,下面2種方法任選:

1、mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql|test" |xargs mysqldump -uroot -p123456 --skip-lock-tables performance_schema --databases > 2.sql

2、mysql -uroot -p123456 -e 'show databases;'|grep -E -v "Database|information_schema|mysql|performance_schema" |xargs mysqldump -uroot -p123456 --databases > 3.sql

我更喜歡第二種的寫法。

下面是我寫的一個(gè)備份的mysql的腳本,每天夜里執(zhí)行一次。寫的簡(jiǎn)單些,語(yǔ)句也沒有做優(yōu)化。

#!/bin/bash
# Description: backup mysql data
# Author: lee
FILE="mysql_`date +%F`"
BACKDIR="/mysqlbackup"
CONF_FILE="/etc/my.cnf"
mysql -uroot -e 'show databases'|egrep -v "Database|information_schema|performance_schema" \ |xargs mysqldump -uroot --databases > $BACKDIR/$FILE.sql && cp $CONF_FILE $BACKDIR/$FILE.cnf \
&& echo -e "Machine: Oracle\nIP: 172.16.10.12\nStatus: MySQL is backup complete" | \ mail -s "MySQL BackUP Complete" lee@126.com

下圖的代碼看的更清楚寫。

下面給大家介紹下MySQL使用mysqldump備份數(shù)據(jù)庫(kù)時(shí)排除指定表

#!/bin/sh
for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables`
do
  case $j in
    mo_log|mt_log|report_info)
      :
      ;;
    *)
    mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql
  esac
done
>>表名不固定 #!/bin/sh
for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables`
do
  for i in "$@"
  do
    if [ $j != $i ];then
      mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql
    fi
  done
done
>>更簡(jiǎn)潔的方法
#!/bin/sh
for j in `mysql -uroot -e "USE spservice;SHOW TABLES" | grep -v Tables`
do
  echo $@ | grep -wq "\<$j\>"
  if [ $? -ne 0 ];then
    mysqldump -uroot --default-character-set=gbk --opt spservice $j >> $j.sql
  fi
done
>>使用方法
sh exclude.sh mo_log mt_log report_log
#定義一個(gè)shell數(shù)組
tables=(mo_log mt_log report_log)
sh exclude.sh ${tables[@]}

相關(guān)文章

最新評(píng)論

饶河县| 什邡市| 深泽县| 临桂县| 和田市| 株洲市| 潜江市| 绵阳市| 繁峙县| 安化县| 石嘴山市| 门头沟区| 鸡西市| 琼海市| 呼图壁县| 四平市| 湖北省| 台南市| 射洪县| 寻乌县| 定西市| 阿拉善盟| 莱芜市| 通河县| 莲花县| 杨浦区| 武汉市| 正蓝旗| 阿拉善盟| 镇远县| 遂宁市| 龙游县| 茶陵县| 深水埗区| 青河县| 仙游县| 扎兰屯市| 荔浦县| 马公市| 仪征市| 洛川县|