中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從MySQL DB轉儲文件中提取表備份的方法

發布時間:2020-08-26 14:45:19 來源:億速云 閱讀:215 作者:小新 欄目:MySQL數據庫

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

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

從MySQL DB轉儲文件中提取表備份的方法

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

在單獨的表特定文件備份中拆分完整的mysqldump數據庫備份文件。創建一個名為splitdb.sh的文件,并在其中復制下面的腳本。

#!/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中提取所有表

對于這個例子,有一個名為mydb.sql的轉儲文件,要想在每個表的小備份中拆分。為此,需要創建了一個新目錄/ opt / splitdb,并在此目錄中復制了名為splitDB.sh的腳本。現在使用以下命令提取單個備份文件中的所有表。

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

第3步:從dump中提取單個表

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

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

看完了這篇文章,相信你對從MySQL DB轉儲文件中提取表備份的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那曲县| 义乌市| 仪陇县| 达拉特旗| 清远市| 荥阳市| 阿鲁科尔沁旗| 白沙| 龙南县| 西吉县| 宜春市| 碌曲县| 海林市| 昭觉县| 阿拉尔市| 彭泽县| 大新县| 准格尔旗| 西林县| 子长县| 原平市| 全椒县| 于都县| 兴国县| 宿州市| 阜平县| 汪清县| 白沙| 都安| 宣武区| 中西区| 怀化市| 奈曼旗| 长治县| 陆良县| 郧西县| 闻喜县| 会东县| 门头沟区| 冷水江市| 苗栗县|