1. 程式人生 > >mysqldump備份資料庫 mysql恢復資料庫

mysqldump備份資料庫 mysql恢復資料庫

備份:

1、備份全部資料庫的資料和結構

 mysqldump -uroot -pjsb -A > /bk/all.sql

-A: 備份所有資料庫=--all-databases 

2、

備份全部資料庫的結構(加 -d 引數)

mysqldump -uroot -p123456 -A -d > F:\all_struct.sql 

-A: 備份所有資料庫=--all-databases    --no-data, -d:只匯出表結構

4.備份單個數據庫的資料和結構(,資料庫名mydb)

mysqldump -uroot-p123456 mydb>F:\mydb.sql

5.備份單個數據庫的表結構(不備份實際資料)很快

mysqldump -uroot -p123456 mydb -d > F:\mydb.sql

--no-data, -d:只匯出表結構

7.備份多個表的資料和結構(資料,結構的單獨備份方法與上同)(一次備份多個表)

mysqldump -uroot -p123456 mydb t1 t2  >  f:\multables.sql

8.一次備份多個數據庫

mysqldump -uroot -p123456 --databases db1 db2  > f:\muldbs.sql 

mysqldump -uroot -pjsb

-B bk0 bk1 > bk01.sql (和上面相等結果

--databases, -B: 用於備份多個數據庫,如果沒有該選項,mysqldump把第一個名字引數作為資料庫名,後面的作為表名。使用該選項,

1.匯出結構不匯出資料

mysqldump -d 資料庫名 -uroot -p > xxx.sql

2.匯出資料不匯出結構

mysqldump -t 資料庫名 -uroot -p > xxx.sql

3.匯出資料和表結構

mysqldump 資料庫名 -uroot -p > xxx.sql

4.匯出特定表的結構

mysqldump -uroot -p

-B資料庫名 --table 表名 > xxx.sql


還原-恢復:

還原全部資料庫2方法:(需要資料庫的備份集)

(1)mysql命令列source方法  

(1) mysql命令列:source  備份集路徑/備份集名字.sql

(2)系統命令列方法

(2) 系統命令列: mysql -u賬號 -p密碼 < 備份集路徑/備份集名字.sql

1.還原單個數據庫(需指定資料庫的備份集)

mysql命令列source方法:如下

 mysql -uroot -pjsb 

cd 進入 你存放恢復指令碼(或者備份集目錄)下

use mydb

source f:\備份集名字.sql

系統命令列方法:如下(推薦)

 mysql -uroot -p123456 mydb < f:\mydb.sql

2.還原單個數據庫的多個表(需要單個數據庫的多個表的備份集)

mysql命令列source方法:如下

 use mydb

cd 進入 你存放恢復指令碼(或者備份集目錄)下

source 備份集路徑/備份集名字.sql

系統命令列方法:如下(推薦)

mysql -uroot -p123456 mydb <  f:\multables.sql

4.還原多個數據庫,(一個備份檔案裡有多個數據庫的備份,此時不需要指定資料庫)

 mysql命令列:

source f:\muldbs.sql

系統命令列:(推薦)

mysql -uroot -p123456 < 備份集路徑下/備份集名字.sql

mysql -uroot -pjsb < bk01.sql

姊妹篇:

http://blog.csdn.net/u010098331/article/details/50896175

常見選項:
--all-databases, -A: 備份所有資料庫
--databases, -B: 用於備份多個數據庫,如果沒有該選項,mysqldump把第一個名字引數作為資料庫名,後面的作為表名。使用該選項,mysqldum把每個名字都當作為資料庫名。

--force, -f:即使發現sql錯誤,仍然繼續備份
--host=host_name, -h host_name:備份主機名,預設為localhost
--no-data, -d:只匯出表結構
--password[=password], -p[password]:密碼
--port=port_num, -P port_num:制定TCP/IP連線時的埠號
--quick, -q:快速匯出
--tables:覆蓋 --databases or -B選項,後面所跟引數被視作表名
--user=user_name, -u user_name:使用者名稱
--xml, -X:匯出為xml檔案


摘抄:

匯入資料:

由於mysqldump匯出的是完整的SQL語句,所以用mysql客戶程式很容易就能把資料匯入了:

MySQL儲存過程遷往另一Linux作業系統下的MySQL資料庫,因為表結構等已經在目標資料庫中存在了, 不想直接拷貝資料庫過去,所以用到了 MySQL的儲存過程匯出和匯入,經上網搜尋發現用Mysqldump工具可以實現,具體用法為:

mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql