1. 程式人生 > >mysql運維管理-mysqldump 備份與恢復數據庫20

mysql運維管理-mysqldump 備份與恢復數據庫20

oca 導出數據 -h sql數據庫 oot 指定 令行 恢復數據 all

mysqldump 備份與恢復數據庫

備份:

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

mysql運維管理-mysqldump 備份與恢復數據庫20