2013-03-26 28 views
6

tôi đã phân bổ gần như tất cả các không gian của tôi trên máy chủ sản xuất đến không gian bàn của tôithế nào để đổ tập tin sql.gz để mysql

Bây giờ tôi có một bãi nén khoảng 20GB mà là cần thiết để được đổ vào mysql

vấn đề là máy chủ không có nhiều không gian để giải nén tập tin (mà đòi hỏi khoảng 120 gb)

tôi đã sử dụng lệnh beolw nhưng tôi là một người thất bại vì nó lần đầu tiên được giải nén các tập tin và sau đó chuyển hướng đầu ra cho mysql

gunzip dbdump.sql.gz | mysql -u root -proot123 -S /home/mysql55/tmp/mysql.sock 

Có cách nào để tôi có thể đổ file nén mà không cần giải nén nó

bất cứ đề nghị thực sự biết ơn

Trả lời

11

Bạn nên nói gunzip để viết tiêu chuẩn ra. Những gì bạn đang làm ngay bây giờ sẽ không tạo ra bất kỳ đầu ra nào.

gunzip -c dbdump.sql.gz | mysql (args...) 
+0

nhờ nó làm việc tốt và là có cách nào tương tự cho file sql.tar.gz – vidyadhar

+0

Tôi chưa bao giờ gặp phải như vậy một Tệp 'sql.tar.gz', nhưng nếu bạn ngụ ý tệp' tar.gz' chứa tệp 'sql', thì nó sẽ là' tar -zvxOf somefile.tar.gz path/to/sql/file | mysql ... '. –

+0

Tại sao 'đường dẫn/đến/sql/tệp'? Tôi đã nhập tệp của mình chỉ với 'tar -zvxOf dump.tgz | mysql database -u ...' ' – rubo77

0

Chúng tôi cũng có thể thực hiện tương tự với lệnh bên dưới. Ở đây tôi đang sử dụng gzip

gzip -d < dbdump.sql.gz | mysql (args..) 

Một cách khác là như đưa ra dưới đây

gzip -c dbdump.sql.gz | mysql (args..) 
0

Bạn có thể cố gắng để giải nén các tập tin một cách nhanh chóng, trong ví dụ:

$ cat dbdump.sql.gz | gzip -cd | mysql 
1

Tôi biết đây là vô lý, nhưng nó đã được gzipped hai lần, vì vậy

  1. Trích xuất filename.sql.gz
  2. Rename chiết xuất tập tin filename.sql-filename.gz
  3. Extract lại

Hy vọng nó sẽ làm việc

Các vấn đề liên quan