真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

從MySQLDB轉(zhuǎn)儲(chǔ)文件中提取表備份的方法

小編給大家分享一下從MySQL DB轉(zhuǎn)儲(chǔ)文件中提取表備份的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的靜樂網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

mysqldump是mysql/mariadb為備份數(shù)據(jù)庫和表提供的實(shí)用程序。一般來說,我們會(huì)定期對(duì)數(shù)據(jù)庫進(jìn)行完整的轉(zhuǎn)儲(chǔ)并保存。但有時(shí)我們需要從備份中恢復(fù)單個(gè)或兩個(gè)表。問題是如何從完整備份文件中恢復(fù)特定表?本篇文章將介紹從完整的數(shù)據(jù)庫備份文件中提取表備份。此外,我們還可以在每個(gè)表中提取單個(gè)文件中的所有表備份。

從MySQL DB轉(zhuǎn)儲(chǔ)文件中提取表備份的方法

第1步:下載MySQL dump拆分腳本

在單獨(dú)的表特定文件備份中拆分完整的mysqldump數(shù)據(jù)庫備份文件。創(chuàng)建一個(gè)名為splitdb.sh的文件,并在其中復(fù)制下面的腳本。

#!/bin/bash

####
# Split MySQL dump SQL file into one file per table
# based on http://blog.tty.nl/2011/12/28/splitting-a-database-dump
####

if [ $# -lt 1 ] ; then
  echo "USAGE $0 DUMP_FILE [TABLE]"
  exit
fi

if [ $# -ge 2 ] ; then
  csplit -s -ftable $1 "/-- Table structure for table/" "%-- Table structure for table `$2`%" "/-- Table structure for table/" "%40103 SET TIME_ZONE=@OLD_TIME_ZONE%1"
else
  csplit -s -ftable $1 "/-- Table structure for table/" {*}
fi

[ $? -eq 0 ] || exit

mv table00 head

FILE=`ls -1 table* | tail -n 1`
if [ $# -ge 2 ] ; then
  mv $FILE foot
else
  csplit -b '%d' -s -f$FILE $FILE "/40103 SET TIME_ZONE=@OLD_TIME_ZONE/" {*}
  mv ${FILE}1 foot
fi

for FILE in `ls -1 table*`; do
  NAME=`head -n1 $FILE | cut -d$'x60' -f2`
  cat head $FILE foot > "$NAME.sql"
done

rm head foot table*

第2步:從dump中提取所有表

對(duì)于這個(gè)例子,有一個(gè)名為mydb.sql的轉(zhuǎn)儲(chǔ)文件,要想在每個(gè)表的小備份中拆分。為此,需要?jiǎng)?chuàng)建了一個(gè)新目錄/ opt / splitdb,并在此目錄中復(fù)制了名為splitDB.sh的腳本?,F(xiàn)在使用以下命令提取單個(gè)備份文件中的所有表。

#cd / opt / splitdb 
#sh splitDB.sh mydb.sql

第3步:從dump中提取單個(gè)表

如果我們只想提取一個(gè)表,我們可以使用如下命令。例如,要想只拆分名為my_tbl1和my_tbl2的表。它將在當(dāng)前目錄中提取名為my_tbl1.sql和my_tbl2.sql的備份。

#cd / opt / splitdb 
#sh splitDB.sh mydb.sql my_tbl1 
#sh splitDB.sh mydb.sql my_tbl2

看完了這篇文章,相信你對(duì)從MySQL DB轉(zhuǎn)儲(chǔ)文件中提取表備份的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


文章名稱:從MySQLDB轉(zhuǎn)儲(chǔ)文件中提取表備份的方法
文章轉(zhuǎn)載:http://weahome.cn/article/gschgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部