mysql邏輯備份(mysql dump的使用)

來源:互聯網
上載者:User

標籤:clipboard   boa   mysqldump   硬碟   not   flush   --   使用   type   

mysqldump 屬於MySQL用戶端工具 mysqldump備份工具對於MyISAM儲存引擎實現備份是溫備份,對innodb儲存引擎是可以實現熱備份。使用mysqldump備份資料庫可以實現完全備份 + 二進位記錄檔,這樣也算是完全備份 + 增量備份。首先將這個Database Backup下來這就是完全備份,然後以後資料的變化再每天進行對二進位日誌進行備份這就是增量備份。mysqldump命令的使用:用法mysqldump  + 選項  +要備份的資料庫 常用選項:db_name:      備份指定資料庫如果備份資料庫中某張表,db_name [tb_name]  備份時候並不包含建立資料庫命令,意味著以後想還原資料時候需要手動建立資料庫。比如我們備份一個叫做file的資料庫:假如Linux下面我們可以這樣mysqldump -u root -p file >/root/sql/file.sql這裡叫表示備份到/root/sql/目錄下,命名為file.sqlwindows下備份mysqldump -u root -p file > D:\sqlback\file.sql備份好之後我們就可以使用文字編輯器開啟了 可以看到mysqldump的備份是將整個表中的資料備份為批量插入的insert語氣。因此以後如果你刪除了你所備份的資料庫。想匯入你備份的資料庫是匯入不了的,它裡面沒有建立資料庫的命令。例如我想嘗試匯入一個備份資料庫: 在Linux下面直接切換到備份資料路徑下執行mysql < file.sql 現在我們建立一個叫做china的資料庫再將MySQL版中國省市區資料匯入mysql -u root -p china < MySQL版中國省市區資料表.sql這樣執行表示匯入這個MySQL版中國省市區資料表.sql備份資料到我們的china庫中  這種備份必須要在資料庫線上的情況下才能備份,如果此時資料庫非常繁忙時候時時刻刻都有寫入操作的話,千萬不能用這種方式進行備份,我們應該先進行鎖表再備份。步驟如下:首先使用mysql用戶端串連上mysql以後,執行下面兩句lock tables;  #鎖表,所有的表不能再寫入資料。可以讀資料flush tables;   #將記憶體中的資料重新整理儲存到硬碟或者執行flush tables with read lock;備份完之後執行解鎖表命令,務必記得unlock tables; --master-data=n n的取值範圍為0-2   0表示不記錄二進位記錄檔以及路徑位置1表示以change master to 的方式記錄位置,可用於恢複啟動後直接啟動從伺服器2表示 以change master to的方式記錄位置,但是預設為被注釋掉 比如:mysqldump -u root -p --master-data=2 file >D:\sqlback\file `date + %F-%H-%M-%S`.sql這裡表示備份file庫到指定路徑下面以目前時間命名如果報錯:mysqldump: Error: Binlogging on server not active表示沒有開啟二進位日誌,需要在設定檔開啟通過這種方式備份以後。我們可以看到sql檔案周會有一行--change master to master_log_file=‘當前二進位記錄檔名‘ master_log_pos=事件記錄位置‘下次從二進位日誌中備份資料時候就可以從這個二進位檔案的這個位置往下備份就行了 --lock-tables  表示自動鎖定所有表,如果我們只是備份單個庫而鎖定所有表的話,這樣是不合理的,我們可以使用這個選項。單獨登陸mysql用戶端鎖定單張表,再進行備份 --flush_logs :備份之前自動執行日誌重新整理到磁碟 如果指定庫中所有表的儲存引擎均為innodb可以使用--single-transaction  啟動熱備份,啟動熱備份就無需我們手動鎖表 備份多個庫: --all-databases;  備份所有庫--databases db_name1,db_name2,,,,, ;   備份多個庫這兩個命令備份會建立資料庫命令,因此還原時候就不需要再手動建立了 例如:mysqldump -u root -p --single-transaction --all-databases --master-data = 2 --flush-logs >D:\sql back\all.sql 這個表示我們將使用熱備份將所有的庫備份到D盤下面,命名為all.sql --events  : 事件--routines :預存程序,儲存函數--triggers:觸發器 

mysql邏輯備份(mysql dump的使用)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.