MySQL之mysqldump的使用詳解
阿新 • • 發佈:2020-09-08
一、mysqldump 簡介
mysqldump 是 MySQL 自帶的邏輯備份工具。
它的備份原理是通過協議連線到 MySQL 資料庫,將需要備份的資料查詢出來,將查詢出的資料轉換成對應的insert 語句,當我們需要還原這些資料時,只要執行這些 insert 語句,即可將對應的資料還原。
二、備份命令
2.1 命令格式
mysqldump [選項] 資料庫名 [表名] > 指令碼名
或
mysqldump [選項] --資料庫名 [選項 表名] > 指令碼名
或
mysqldump [選項] --all-databases [選項] > 指令碼名
2.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 | 備份資料庫表時鎖定資料庫表 |
2.3 例項
備份所有資料庫:
mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
備份指定資料庫:
mysqldump -uroot -p test > /backup/mysqldump/test.db
備份指定資料庫指定表(多個表以空格間隔)
mysqldump -uroot -p mysql db event > /backup/mysqldump/2table.db
備份指定資料庫排除某些表
mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db
三、還原命令
3.1 系統行命令
mysqladmin -uroot -p create db_name mysql -uroot -p db_name < /backup/mysqldump/db_name.db
注:在匯入備份資料庫前,db_name如果沒有,是需要建立的; 而且與db_name.db中資料庫名是一樣的才可以匯入。
3.2 soure 方法
mysql > use db_name mysql > source /backup/mysqldump/db_name.db
例項
注:使用者名稱:root 密碼:DbPasswd 生成的sql指令碼問 db.sql
匯出資料庫為DBName的表結構(不導資料)
mysqldump -uroot -pDbPasswd -d DBName > db.sql
匯出資料庫為DBName的表結構及其所有資料(不加-d即可)
mysqldump -uroot -pDbPasswd DBName > db.sql;
匯出資料庫為DBName的表(test)的結構
mysqldump -uroot -pDbPasswd -d DBName test > db.sql
匯出資料庫為DBName的表(test)的結構及其所有資料(不加-d即可)
mysqldump -uroot -pDbPasswd DBName test > db.sql
到此這篇關於MySQL之mysqldump的使用詳解的文章就介紹到這了,更多相關MySQL mysqldump內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!