[英]Restoring mysql backup through windows batch file, which calls the .sql file
我試圖從備份中恢復 mysql 數據庫。 我可以在命令提示符下直接使用
mysql> -u username -ppassword < E:\replication\DestinationTest\restore.sql.
這工作得很好。
我試圖將同一行與其他 mysql 語句一起放在 a.txt 文件中並調用它。 mysql 命令提示符中的 txt 文件。我有幾個刪除語句,然后是 .txt 文件中的恢復語句。 它看起來像這樣:
enter code here
Delete from Db.tbl1;
Delete from Db.tbl2;
Delete from Db.tbl3;
Delete from Db.tbl4;
Delete from Db.tbl5;
-h Server -D DB -u username -ppassword < E:\replication\DestinationTest\Db.sql;
當我從 mysql 提示符調用此 above.txt 文件時,它執行刪除語句但在恢復部分出錯。 它說未知數據庫'ereplicationdestinationtestdb.sql'。 請告訴我,正確的方法是什么。
您的刪除語句正在執行,因為每個表前面都有如下架構名稱。
從 Db.tbl1 中刪除; 從 Db.tbl2 中刪除;
但是請確認您是否錯過了需要恢復表的模式名稱? 根據您提到的錯誤,您的 restore.sql 似乎不知道需要將表導入哪個模式。
這是一個“提示,而不是命令:
mysql>
所以這是無效的:
mysql> -u username -ppassword < E:\replication\DestinationTest\restore.sql.
另外,最后的句號可能是一個錯字。
這可能是批處理文件中的有效行:
mysql -u username -ppassword < E:\replication\DestinationTest\restore.sql
如果你想在批處理文件中做一些其他的事情,那么首先用SQL語句構建一個文本文件,例如
Delete from Db.tbl1;
Delete from Db.tbl2;
Delete from Db.tbl3;
Delete from Db.tbl4;
Delete from Db.tbl5;
在該文件中不要放任何其他內容。 我們將文件deletes.sql
。 現在,我們將兩者放在一起——兩行:
mysql -u username -ppassword < E:\replication\DestinationTest\restore.sql
mysql -u username -ppassword < deletes.sql
PS: TRUNCATE TABLE Db.tbl4;
如果您只想刪除所有行,則運行速度比DELETE
快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.