Tôi có một tệp kết xuất sql .gz (ví dụ: foo.sql.gz) mà tôi muốn nhập vào cơ sở dữ liệu của mình bằng lệnh mysql cổ điển.
gunzip -c foo.sql.gz > foo.sql
mysql -uroot -ppassword foo < foo.sql
foo là cơ sở dữ liệu.
Làm thế nào tôi có thể dẫn hai lệnh này trong một?
Đã thử
gunzip -c foo.sql.gz | mysql -uroot -ppassword foo
nhưng dường như không hoạt động; tôi cógzip: stdout: Broken pipe
6
FYI bạn thực sự không muốn vượt qua mật khẩu mysql trên dòng lệnh. Điều này dẫn đến nó được lưu trữ trong ~ / .bash_history cho tất cả mọi người xem. Nếu bạn chỉ đặt -p, nó sẽ nhắc bạn nhập mật khẩu của bạn an toàn hơn nhiều (và cũng không phá vỡ ống zcat)
—
thefreeman
Lệnh orignal của bạn sẽ hoạt động nếu gunzip <foo.sql.gz | mysql -uroot -ppassword foo
—
Yada