簡體   English   中英

從單個表的查詢備份恢復mysql

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM