2012-06-18 33 views
13

Để tạo kết xuất cơ sở dữ liệu trực tiếp ở định dạng bz2, tôi đã thử nén tệp kết xuất trực tiếp bằng đường ống, như sau:Làm cách nào để tạo kết xuất dữ liệu trực tiếp từ tệp bzipped thành cơ sở dữ liệu

mysqldump -u userName -p myDataBase | bzip2 -c > myDump.sql.bz2 

Tôi muốn thực hiện một điều tương tự để khôi phục. Tôi có thể làm điều này sử dụng 2 lệnh như sau: lệnh 1:

bzip2 -d myDump.sql.bz2 

lệnh 2:

mysql -u userName -p myDataBase < myDump.sql 

Wanted: Bây giờ tôi muốn sử dụng các đường ống để khôi phục myDump.sql.bz2 cơ sở dữ liệu myDataBase.

+1

tôi muốn thêm rằng bài gốc của bạn có một lỗi đánh máy trong lệnh đầu tiên. Nó phải là: mysqldump -u $ userName -p $ password $ databasename | bzip2 -c> $ databasename.tar.bz2 – Droidzone

Trả lời

23

bzip2 -dc myDump.sql.bz2 | mysql -u userName -p myDatabase - tùy chọn -c vào bzip2 làm cho nó gửi đầu ra tới giá trị mà bạn đã sử dụng khi tạo vùng kết xuất.

+6

'bzcat' là một phím tắt cho' bzip2 -dc'. Nếu có, bạn có thể sử dụng nó như là 'bzcat myDump.sql.bz2 | mysql -u userName -p myDatabase'. – ADTC

5

thử nó:

bzcat dump.sql.bz2 | mysql -u name -p db 
Các vấn đề liên quan