Khôi phục cơ sở dữ liệu MULTIPLE MySQL từ một tệp tại dòng lệnh?


13

Tôi đã xuất tất cả các cơ sở dữ liệu của mình sang một tệp bằng phpMyAdmin.

Thật không may, tôi không có một phpMyAdmin hoạt động trong hệ thống đích của mình.

Làm thế nào tôi nên khôi phục tất cả chúng cùng một lúc bằng cách sử dụng một dòng lệnh?


1
Bạn đã xem qua các tập tin? Nó nên / có thể chứa các lệnh để tạo và chuyển sang cơ sở dữ liệu khi cần thiết.
Tom Regner

Có, cơ sở dữ liệu được tạo và sau đó chúng đã được chọn bằng USE database_namelệnh.
smhnaji

Sau đó, câu trả lời của Unni và laurents là chính xác.
Tom Regner

Câu trả lời:


18

Tại sao bạn không ghép tất cả các tệp vào một tệp và nhập / khôi phục bằng

mysql -u username -p < dump.sql

Tạo một tệp bằng cách sử dụng

mysqldump -u username -p --all-databases > dump.sql

OP đã có một tệp duy nhất và anh ta cần khôi phục các tệp để anh ta không thể đổ chúng nữa.
laurent

@laurent Có rồi. Sử dụng mysql -u username -p < dump.sqlsẽ tải nhiều cơ sở dữ liệu mysql.
devav2

yes, sure nó sẽ
laurent

2
nó không làm việc cho tôi. nó nói rằng tôi cần phải chọn một cơ sở dữ liệu
Aryeh Armon

3

Nếu bạn đã sao lưu nhiều cơ sở dữ liệu vào 1 tệp, tôi cho rằng bạn đã sao lưu các create databasebáo cáo trong cùng một tệp. Nếu không, bạn chỉ cần thêm create databasevà các use databasecâu lệnh vào tệp của bạn tại các vị trí thích hợp.

Sau đó, lệnh để tải tệp vào mysql là:

mysql -p < sqlfile.sql

-p là hỏi mật khẩu của bạn

Bạn có thể sử dụng -u usernamenếu bạn cần sử dụng người dùng khác.


1

Lệnh mysql để khôi phục tập tin sql là:

mysql DATABASE_NAME < SQL_FILENAME.sql

đầu tiên hãy chắc chắn rằng tập tin đó là sql. Khi kết thúc bằng phần mở rộng tệp gz, bạn cần giải nén bằng lệnh:

gunzip SQL_FILE.sql.gz

1
-1. Như tôi đã nói ở trên, có các cơ sở dữ liệu NHIỀU được lưu trữ trong tệp và tôi muốn tất cả chúng được khôi phục cùng một lúc.
smhnaji

bạn có thể xuất từng cơ sở dữ liệu riêng biệt trong phpmyadmin và khôi phục nó tại máy chủ nguồn không? hoặc sử dụng các trình soạn thảo luồng linux như sed hoặc awk để phân chia chúng trong các tệp khác nhau.
Unni

1
không cần, anh có thể nhập tất cả các cơ sở dữ liệu từ một tập tin duy nhất
laurent
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.