1. 程式人生 > 實用技巧 >MySQL之mysqldump的使用

MySQL之mysqldump的使用

一、mysqldump 簡介

mysqldumpMySQL自帶的邏輯備份工具。

它的備份原理是通過協議連線到MySQL資料庫,將需要備份的資料查詢出來,將查詢出的資料轉換成對應的insert語句,當我們需要還原這些資料時,只要執行這些insert語句,即可將對應的資料還原。

二、備份命令

1)命令格式

mysqldump [選項] 資料庫名 [表名] > 指令碼名

mysqldump [選項] --資料庫名 [選項 表名] > 指令碼名

mysqldump [選項] --all-databases [選項]  > 指令碼名

2)選項說明

引數名縮寫含義
--host -h 伺服器IP地址
--port -P 伺服器埠號
--user -u MySQL 使用者名稱
--pasword -p MySQL 密碼
--databases 指定要備份的資料庫
--all-databases 備份mysql伺服器上的所有資料庫
--compact 壓縮模式,產生更少的輸出
--comments 添加註釋資訊
--complete-insert 輸出完成的插入語句
--lock-tables 備份前,鎖定所有資料庫表
--no-create-db/--no-create-info 禁止生成建立資料庫語句
--force 當出現錯誤時仍然繼續備份操作
--default-character-set 指定預設字符集
--add-locks 備份資料庫表時鎖定資料庫表

舉例:

備份所有資料庫:

mysqldump -uroot -p --all-databases > /mnt/mysql_bak/all.db

備份指定資料庫:

mysqldump -uroot -p data > /mnt/mysql_bak/data.db  

備份指定資料庫指定表(多個表以空格間隔)

mysqldump -uroot -p  mysql db event >
/mnt/mysql_bak/table.db

備份指定資料庫排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /mnt/mysql_bak/test.db

三、還原命令

1)系統行命令

mysqladmin -uroot -p create db_name 
mysql -uroot -p  db_name < /mnt/mysql_bak/db_name.db

注:在匯入備份資料庫前,db_name如果沒有,是需要建立的; 而且與db_name.db中資料庫名是一樣的才可以匯入。

2)soure 方法

mysql > use db_name
mysql > source /mnt/mysql_bak/db_name.db