2010-05-04 39 views
10

Làm cách nào tôi có thể sử dụng mysqldump để sao lưu và khôi phục cơ sở dữ liệu sang máy chủ từ xa?sao lưu và khôi phục mysqldump vào máy chủ từ xa

Cả hai đều có quyền truy cập root. Tôi đang sử dụng putty để thực hiện điều này.

Cho đến nay tôi thử như sau:

mysqldump -u root -p >z*[email protected] masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --host=207.210.71.26 -C masdagn_joom15temp \g 

nhưng nó từ chối

mật khẩu địa phương là:> z * x311a @

mật khẩu từ xa là: g2154hE6-AsXP

+10

Để được thông báo sau, tôi sẽ thận trọng khi đăng công khai thông tin đăng nhập cơ sở dữ liệu của bạn. Hy vọng bạn đã thay đổi chúng! –

Trả lời

8

link này cung cấp thông tin về sao lưu và khôi phục lại với mysqldump. Nó cũng đưa ra một số ví dụ với một máy chủ từ xa.

Các lệnh quan trọng từ trang liên kết con người:

sao lưu:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql 

khôi phục:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql 
+1

Tôi thực sự đang sử dụng số này nhưng khi tôi nhập lệnh mysqldump nó cung cấp cho tôi không có gì chỉ nhắc lệnh một lần nữa – manhag

2
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2 

bạn có thể nhúng phần này vào tập lệnh, sau đó bạn có thể sử dụng FTP để chuyển sang r vị trí.

Để khôi phục, bạn có thể

bzip2 -d db_name.sql.bz2 
mysql --user=username --password=pwd db_name < db_name.sql 
1

mật khẩu địa phương của bạn có chứa các > nhân vật, được hiểu là a redirect character bởi hầu hết các vỏ. Như một quy luật chung, nó sẽ làm cho cuộc sống của bạn dễ dàng hơn đáng kể nếu bạn giữ mật khẩu MySQL của mình bằng chữ và số [A-Za-z0-9]. Và nó sẽ làm cho hệ thống của bạn an toàn hơn nếu bạn tránh đăng mật khẩu công khai.

1
[local-server]# mysqldump -u root -prootpswd db | mysql \ 
       -u root -ptmppassword --host=remote-server -C db1 

[Lưu ý: Có hai - (gạch ngang) ở phía trước của máy chủ]

Xin lưu ý rằng trước tiên bạn nên tạo cơ sở dữ liệu db1 trên remote-server trước khi thực hiện lệnh sau.

0

đây là những gì tôi làm cho một bãi chứa nhanh chóng đến một máy chủ từ xa ... giả định rằng bạn đã thiết lập một phím ssh giữa 2 máy chủ

  • tạo file dump-to-server.sh
  • chmod để thực thi (chmod 0755 dump-to-server.sh)
  • chạy đồng bộ hóa ./dump-to-server.sh schema_name [email protected]

bãi-t o-server.sh

\#!/bin/bash 

if [[ -z "$1" || -z "$2" ]]; then 
    echo "--------- usage ---------"; 
    echo "./dump-to-server.sh schema_name [email protected]"; 
    echo ""; 
else 
    mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1" 
fi 
Các vấn đề liên quan