1 問題背景
使用mysqldump命令可以方便的對資料庫進行備份,如下:
mysqldump -uroot -p****** test > test.sql
上述命令表示將test資料庫備份到test.sql檔案中。
備份完成後,我們開啟test.sql檔案,可以看到在這個sql檔案中包含了建立test資料庫中所有表及資料的sql語句。
在另外一台電腦上,基於test.sql我們想恢復test資料庫,執行以下命令時出現問題:
mysql -uroot -p****** test < test.sql
2 原因分析
出現上述問題的原因是:在要恢復資料庫的電腦上並不存在test資料庫,而備份產生的test.sql檔案中也沒有包含建立test資料庫的指令。
3 解決方法
根據上述分析,我希望在test.sql中直接包含有建立test資料庫的指令,由此,想到了 --databases 備份多個資料庫的引數。
修改備份命令:
mysqldump -uroot -p****** --databases test > test.sql
備份後開啟test.sql檔案,可以看到在檔案的開頭有建立test資料庫的指令。
修改恢復命令:
mysql -uroot -p****** < test.sql
執行上述恢復命令後,即使該電腦上原來沒有test資料庫,也能完整的建立並恢復test資料庫。
mysql完整備份與恢復
1 備份單個資料庫 mysql資料庫自帶了乙個很好用的備份命令,就是mysqldump,他的基本使用如下 語法 mysqldump u 使用者名稱 p 資料庫名 備份的檔名 備份一 1 備份 mysqldump uroot p test opt test bak.sql 2 檢視備份資料的內容 eg...
mysql備份和恢復資料庫
1 開啟cmd視窗 不要登入 通過命令備份mydb1資料庫 備份命令 mysqldump u使用者名稱 p 資料庫名字 資料檔案的位置 例如 mysqldump uroot p mydb1 d mydb1.sql 輸入密碼,如果沒有提示錯誤,即備份成功,查詢d盤的mydb1.sql檔案 2 備份資料...
SQL資料庫備份1 完整備份
完整備份 完整備份資料庫到物理備份裝置 backup database studb to disk e bak studb all.bak go 完整備份資料庫到邏輯備份裝置 backup database studb to bk bk e bak studb 邏輯備份.bak go 備份的驗證與校...