2013-01-02 63 views
5

Nhóm của tôi có yêu cầu chúng tôi có thể truy xuất bản sao lưu cơ sở dữ liệu của chúng tôi (được lưu trữ trên Google Cloud SQL) và khôi phục cơ sở dữ liệu đó thành cá thể MySQL được lưu trữ cục bộ.Lấy lại Google Cloud SQL tự động

Tôi biết rằng Google Cloud SQL có khả năng lên lịch các bản sao lưu, nhưng chúng dường như không có sẵn để tải xuống bất kỳ đâu.

Tôi cũng biết rằng chúng tôi có thể "xuất" cơ sở dữ liệu của mình sang Google Cloud Storage, nhưng chúng tôi muốn có thể lên lịch "xuất".

Mục tiêu cuối cùng ở đây là để thực hiện các bước sau đây trong một số loại của một kịch bản quản trị:

  1. Tự động sao lưu cơ sở dữ liệu của chúng tôi được lưu trữ trên Google Cloud SQL.
  2. Tải xuống bản sao lưu cho máy chủ cục bộ (không phải đám mây).
  3. Khôi phục bản sao lưu sang phiên bản MySQL cục bộ.

Bất kỳ ý tưởng nào?

+2

3 năm sau, jmwicks có câu trả lời đúng – timc

Trả lời

0

Xin lỗi, nhưng Cloud SQL hiện không có chức năng này. Chúng tôi muốn làm điều này dễ dàng hơn trong tương lai. Trong thời gian chờ đợi, bạn có thể sử dụng Selenium (hoặc một số khung kịch bản giao diện người dùng khác) kết hợp với một công việc cron.

+0

Đã đi trước và đánh dấu câu trả lời này là vì câu trả lời là đúng. Nhưng điều này có vẻ như một lỗ hổng khá lớn trong chức năng. – Tombatron

2

Lưu ý rằng bây giờ bạn có thể kích hoạt hoạt động Export bằng cách sử dụng Cloud SQL REST API.

Vì vậy, tập lệnh quản trị của bạn có thể thực hiện điều đó và sau đó tải xuống bản sao lưu từ Bộ nhớ đám mây (Bạn sẽ cần đợi cho đến khi thao tác xuất hoàn tất).

7

lệnh gcloud sdk nay cung cấp chức năng nhập khẩu/xuất khẩu:

gcloud sql instances export <DATABASE_INSTANCE> \ 
    gs://<CLOUD_STORAGE_BUCKET>/cloudsql/export.sql.gz \ 
    --database <DATABASE_NAME> 

xuất khẩu này có thể được tải về sử dụng gsutil.Nó cũng có thể được nhập khẩu sử dụng mysqlimport

0

Đó là vấn đề tôi đã gặp phải và giải pháp của tôi là:

  1. Đến IAM Service Accounts Management
  2. Tạo một tài khoản dịch vụ mới (tôi gọi nó sql-backuper), truy cập tải trọng cho nó trong JSON
  3. Cấp vai trò của Trình xem đối tượng, Bộ nhớ lưu trữ cho nó trên trang IAM chính (hiện tại GCloud không có vai trò chỉ đọc riêng cho SQL)
  4. Thiết lập trên máy sẽ sao lưu: gcloud auth activate-service-account [email protected] --key-file /home/backuper/gcloud-service-account.json (gcloud auth documentation)
  5. Tạo một xô mới tại GCloud Storage Browser
  6. Bây giờ trên máy tính sao lưu của bạn, bạn có thể chạy: gcloud sql instances export [sql-instance-name] gs://[bucket-name]/[file-name].gz --database [your-db-name] (gcloud sql documentation) và gsutil cp gs://[bucket-name]/[file-name].gz [local-file-name].gz (gsutil cp documentation)
  7. Bạn đã có một bản sao DB địa phương mà bạn bây giờ có thể sử dụng như bạn muốn
0

Nếu bạn muốn tải xuống bản sao lưu (thủ công hoặc tự động), bạn có thể khởi chạy một phiên bản CloudSQL khác rồi:

  1. Bấm vào các tùy chọn sao lưu (khôi phục) từ dụ backuped
  2. Chọn để khôi phục lại về trường hợp đưa ra trước đây
  3. Xuất dữ liệu từ CloudSQL mới phục hồi của bạn
  4. Lấy sql hoặc .csv trên đám mây Lưu trữ
Các vấn đề liên quan