2014-04-20 27 views
6

Tôi đã sao lưu tất cả các cơ sở dữ liệu mysql của tôi với ông sau lệnhkhôi phục tất cả các cơ sở dữ liệu mysql từ một tập tin sql.gz --all-cơ sở dữ liệu

mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz 

chỉ muốn biết tôi sẽ có thể khôi phục lại tất cả các cơ sở dữ liệu với lệnh sau

gunzip < alldb.sql.gz | mysql -u root -ppassword -h localhost 

bạn cũng có thể cho tôi biết cách sao lưu tất cả người dùng mysql không?

Tôi không thể kiểm tra vì tôi không chắc chắn và tôi không muốn phá vỡ bất kỳ db nào trên hệ thống hiện tại của mình

Trả lời

13

Có. Nói chung, để khôi phục lại các file sao lưu nén, bạn có thể làm như sau:

gunzip < alldb.sql.gz | mysql -u [uname] -p[pass] [dbname] 

Vui lòng tham khảo How to Back Up and Restore a MySQL Database

Lưu ý rằng tùy chọn --all-databases được áp dụng cho chỉ sao lưu. Bản thân tệp sao lưu sẽ chứa tất cả các lệnh CREATE DATABASE quux; liên quan để khôi phục.

+0

gì được đề cập về việc khôi phục cơ sở dữ liệu từ một file all_db.sql.gz – ahhmarr

+0

haha ​​tôi biết điều đó. điều tôi ngụ ý là họ đã chỉ định cách khôi phục từ bản sao lưu dữ liệu --all-databse – ahhmarr

+0

Tệp đầu ra --all-database của bạn nên chứa các lệnh 'CREATE DATABASE foo;' cần thiết cho các dbs sao lưu, vì vậy khi bạn khôi phục từ đó, tất cả các cơ sở dữ liệu sẽ được khôi phục. Bạn có thể mở tệp 'all.sql' và grep cho các lệnh này để đảm bảo tất cả các dbs được đề cập. – mockinterface

2

Đây là lệnh tôi sử dụng để sao lưu tất cả các cơ sở dữ liệu trong MySQL:

mysqldump -u USERNAME -p --all-databases --events --ignore-table=mysql.event --extended-insert --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers | gzip > "all_databases.gz" 
  • Tùy chọn '--all-cơ sở dữ liệu' cho các lệnh để bao gồm tất cả các cơ sở dữ liệu. Nếu bạn muốn chỉ định một hoặc nhiều thì hãy xóa tùy chọn đó và thay thế bằng '--databases dbname1 dbname2 dbnameX'
  • Để sao lưu tất cả người dùng mysql, mật khẩu, quyền của bạn, sau đó bao gồm cơ sở dữ liệu 'mysql' vào bản sao lưu của bạn. Tùy chọn --all-databases bao gồm cơ sở dữ liệu này trong bản sao lưu.
  • Tùy chọn '--routines' bao gồm các thủ tục và chức năng được lưu trữ trong bản sao lưu.
  • Tùy chọn '--triggers' bao gồm mọi trình kích hoạt trong bản sao lưu.

Để khôi phục lại từ một file * mysqldump gz:

gunzip < all_databases.gz | mysql -u USERNAME -p 
Các vấn đề liên quan