程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 用mysqldump 來備份數據庫

用mysqldump 來備份數據庫

編輯:關於MYSQL數據庫

寫在前面: 有時候經常要把數據庫轉來轉去,或者導入導出,以前記得命令,後來又忘記了,現在寫出來備忘!
------------------------------------------------------------------

注意:MySQLdump比直接拷貝數據庫文件夾速度要慢
但,直接復制文件夾不能100%轉移到其它機子上用,我說的不是Windows下 :)

#MySQLdump db_name >/path/name.sql

上面的命令意思是把一個庫導出到一個SQL文件. 當然,你直接在有ROOT密碼的機子上執行以上命令一定會報錯.所以,請用

#MySQLdump db_name >/path/name.sql -uroot -p

這回會要求你輸入密碼,輸入正確,找找/path下是不是有name.sql文件了?

數據庫太大了,想壓縮一下?好,用這個命令就行

#MySQLdump db_name |gzip >/path/name.gz -uroot -p

想備份全部的庫呢?

#MySQLdump --all-databases  >/path/name.sql -uroot -p

#MySQLdump --all-databases |gzip >/path/name.gz -uroot -p (很明顯,這條命令是加壓縮的意思)

只想備份一個單獨或者幾個表?

有時候數據庫很大很大,整個庫備份就不好管理,那就單獨備份

#MySQLdump db_name tab_name >/path/sqlname.sql -uroot -p

備份做好了.遇到問題的時候.怎麼用備份恢復數據?

再簡單不過了,

MySQL db_name < backup-file.sql -uroot -p

注意:如果你想恢復的數據庫是包含授權表的MySQL數據庫,你需要用--skip-grant-table選項運行服務器。否則,它會抱怨不能找到授權表。在你已經恢復表後,執行MySQLadmin flush-privileges告訴服務器裝載授權標並使用它們 

恢復單個表

 恢復單個表較為復雜,如果你用一個由mysqldump生成的備份文件,並且它不包含你感興趣的表的數據,你需要從相關行中提取它們並將它們用作 mysql的輸入。這是容易的部分。難的部分是從只運用於該表的更新日志中拉出片斷。你會發覺MySQL_find_rows實用程序對此很有幫助,它從更新日志中提取多行查詢。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved