[英]Backup restore mysql from query of single table
我有一個包含三個表的數據庫。 我想在第二個表中創建一些記錄的備份文件:
mysqldump --opt --user=${USER} --password=${PASS} --databases ${DATABASE} --where="id = $1" mydb Table2 > FILE.sql
問題在於使用此代碼進行還原。
mysql --user=${USER} --password=${PASS} ${DATABASE} < FILE.sql
它刪除整個數據庫並插入我以前代碼中只選擇的記錄。 我希望只刪除所選記錄而不刪除其余記錄。
使用mysqldump時,應該嘗試使用--skip-add-drop-table
選項。
http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html
這樣可以防止將刪除表條目添加到sql導出中。
您正在使用[--databases][1]
標志,該標志在轉儲多個數據庫時使用,並且在您只想轉儲單個表時不應使用。
轉儲幾個數據庫。 通常,mysqldump將命令行上的第一個名稱參數視為數據庫名稱,將后續名稱視為表名稱。 使用此選項,它將所有名稱參數視為數據庫名稱。 CREATE DATABASE和USE語句包含在每個新數據庫之前的輸出中。
避免使用該參數並使用--no-create-info
或簡單地使用-t
來確保create table / drop table命令不在轉儲文件中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.