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
--databases, -B: 用於備份多個數據庫,如果沒有該選項,mysqldump把第一個名字引數作為資料庫名,後面的作為表名。使用該選項,
還原-恢復:
還原全部資料庫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檔案
摘抄:
MySQL儲存過程遷往另一Linux作業系統下的MySQL資料庫,因為表結構等已經在目標資料庫中存在了, 不想直接拷貝資料庫過去,所以用到了 MySQL的儲存過程匯出和匯入,經上網搜尋發現用Mysqldump工具可以實現,具體用法為:mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql