Điểm:0

Có thể chỉ định một phiên bản CloudSQL hiện có làm đích cho dịch vụ di chuyển cơ sở dữ liệu trong GCP không?

lá cờ cn

Theo hướng dẫn của GCP, thiết lập di chuyển cơ sở dữ liệu liên quan đến việc tạo tác vụ di chuyển trong bảng điều khiển bằng trình hướng dẫn [1]. Trình hướng dẫn tạo một phiên bản CloudSQL mới, nhưng tôi muốn chỉ định một phiên bản hiện có để chúng tôi có thể quản lý phiên bản đích thông qua kiểm soát phiên bản (ví dụ: Terraform)

Có thể chỉ định một phiên bản CloudSQL hiện có làm đích cho dịch vụ di chuyển cơ sở dữ liệu trong GCP không? Nếu vậy, làm thế nào?

Nếu không, một giải pháp khác để kiểm soát phiên bản là tạo tác vụ di chuyển (và có thể là phiên bản đích) thông qua một tập lệnh chạy các lệnh gcloud CLI/API.

Từ hướng dẫn API để di chuyển cơ sở dữ liệu [2], có vẻ như chúng ta cần chỉ định một điểm đến hồ sơ kết nối.

Destination-connection-profile-id: ID hồ sơ kết nối đích

Điều này được phản ánh trong tài liệu gcloud CLI [3]

--destination=ĐỊA ĐIỂM
ID của connection_profile hoặc mã định danh đủ điều kiện cho connection_profile. Để đặt thuộc tính connection_profile:
cung cấp đối số --destination trên dòng lệnh.

Điều này có nghĩa là để tạo công việc di chuyển thông qua CLI, tôi sẽ cần tạo thủ công phiên bản CloudSQL đích VÀ cấu hình kết nối cho phiên bản đó phải không? Nếu vậy, người dùng kết nối cần những đặc quyền gì? Hay lệnh "gcloud database-migration migration-jobs create" tự động tạo một phiên bản đích?

Nếu không, hãy mở các đề xuất về ý nghĩa của cờ --destination.

[1] https://cloud.google.com/database-migration/docs/mysql/create-migration-job

[2] https://cloud.google.com/database-migration/docs/mysql/api-migration-jobs#create_a_continuous_migration_job_with_reverse_ssh_connectivity

[3] https://cloud.google.com/sdk/gcloud/reference/database-migration/migration-jobs/create

Điểm:1
lá cờ in

Bạn đã hỏi những câu hỏi dưới đây:

  • Có thể chỉ định một phiên bản CloudSQL hiện có làm đích cho dịch vụ di chuyển cơ sở dữ liệu trong GCP?

  • Lệnh "gcloud database-migration migration-jobs có tạo" không tự động tạo một phiên bản đích?

  • Điều này có nghĩa là để tạo công việc di chuyển thông qua CLI, tôi sẽ cần tạo thủ công một phiên bản CloudSQL đích VÀ một hồ sơ kết nối cho trường hợp đó không?

  • Trả lời cho câu hỏi đầu tiên: Không, không thể. của tôi về nó là rằng Dịch vụ di chuyển cơ sở dữ liệu sẽ luôn tạo một phiên bản mới. Khi sử dụng trình hướng dẫn/Bảng điều khiển để thực hiện dịch vụ di chuyển, khi bạn bấm vào tạo điểm đến nó tự động tạo điểm đến mới Phiên bản đích của Cloud SQL dành cho bạn. Khi sử dụng API, bạn dự kiến ​​sẽ tạo hồ sơ đích. Xem cái này liên kết Nó ở đâu vậy đã đề cập "Tạo cấu hình kết nối cho Cloud SQL cho MySQL đích ... Dịch vụ di chuyển cơ sở dữ liệu cho MySQL sử dụng thông tin trong yêu cầu này để tạo một Cloud SQL mới cho MySQL ví dụ."

    Tôi nghĩ sẽ khá khó để làm cho dịch vụ hoạt động ổn định nếu chúng tôi không tạo một phiên bản mới mỗi lần. Điều đó nói rằng, tôi nghĩ rằng dịch vụ hiện tại được thiết kế để có thể hỗ trợ nhiều hơn các tùy chọn trong tương lai, vì vậy nó có thể xảy ra, nhưng tôi không thấy bất kỳ bằng chứng rằng nó có thể được thực hiện ngay bây giờ.

  • Trả lời cho Câu hỏi thứ 2: Không, nó không tạo ra nó. Khi bạn chạy lệnh âgcloud database-migration migration-jobs createâ, bạn phải tạo hồ sơ kết nối nguồn và đích và được cung cấp dưới dạng tham số cho lệnh này theo tài liệu.

  • Trả lời cho câu hỏi thứ 3: Không. Để thực hiện việc này bằng gcloud (hoặc API) bạn cần tạo hồ sơ kết nối nguồn và đích, sau đó công việc di chuyển và phiên bản đích sẽ được tạo cho bạn theo thông tin được cung cấp đây.

Mối quan tâm của bạn về cách quản lý điều này với terraform có thể hợp lệ và có lẽ thú vị, nhưng terraform là sản phẩm của bên thứ ba và Google không xây dựng các API theo mô hình của nó. Có lẽ bạn có thể tạo ra một vấn đề với điều này và ai đó từ đầu đó có thể xem xét nó.

Điểm:-1
lá cờ cn

Thật không may là google đã chọn thực hiện giải pháp này theo cách này. Lúc đầu, tôi nghĩ nó giống với cách tiếp cận AWS hơn, trong đó DMS thiết lập một phiên bản cơ sở dữ liệu trung gian để di chuyển/thao tác dữ liệu trước khi sao chép sang phiên bản đích/công cụ DB.

Hy vọng họ sẽ phát triển điều này theo thời gian, nhưng hiện tại nó dường như không phải là một sản phẩm hoàn chỉnh

John Hanley avatar
lá cờ cn
Có lẽ câu trả lời của bạn nên là một nhận xét về câu hỏi của bạn. Bài đăng của bạn có hữu ích hơn câu trả lời của @priyashree-bhadra không?
lá cờ ph
Điều này không cung cấp một câu trả lời cho câu hỏi. Khi bạn có đủ [danh tiếng](https://serverfault.com/help/whats-reputation), bạn sẽ có thể [nhận xét về bất kỳ bài đăng nào](https://serverfault.com/help/privileges/comment); thay vào đó, [cung cấp câu trả lời không yêu cầu người hỏi làm rõ](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-thay). - [Từ đánh giá](/review/late-answers/513776)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.