mysql運維管理-mysqldump 備份與恢復數據庫20
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
--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