Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 3

Trong bộ bốn hướng dẫn, chúng tôi đang khám phá việc di chuyển phiên bản cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL bằng cách sử dụng Dịch vụ di chuyển cơ sở dữ liệu AWS (DMS). Trong hướng dẫn đầu tiên, “Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 1,” chúng tôi đã giới thiệu DMS và tạo người dùng IAM cho DMS. Trong hướng dẫn thứ hai, Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 2, ”chúng tôi đã tạo các phiên bản của MySQL và PostgreSQL trên RDS và kết nối với hai phiên bản này. Trong hướng dẫn tiếp tục này, chúng tôi sẽ tạo một quá trình di chuyển DMS để thực hiện quá trình di chuyển. Hướng dẫn này có các phần sau:

  • Tạo Di chuyển DMS
  • Tạo một phiên bản sao chép
  • Tạo điểm cuối tác vụ di chuyển
  • Tạo Tác vụ Di chuyển
  • Kết luận

Tạo Di chuyển DMS

Trong phần này, chúng tôi sẽ tạo Dịch vụ di chuyển cơ sở dữ liệu (DMS) để di chuyển Cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL. Di chuyển DMS bao gồm các thành phần sau:

  • Phiên bản sao chép
  • Điểm cuối của cơ sở dữ liệu
  • Công việc

Chúng ta sẽ thảo luận về việc tạo từng cái này trong các phần phụ, nhưng trước tiên bạn cần tạo một quá trình di chuyển DMS. Điều hướng đến trang tổng quan DMS và nhấp vào Tạo di chuyển , như trong Hình 1.


Hình 1: Tạo di chuyển

Trình hướng dẫn DMS bắt đầu. Nhấp vào Tiếp theo, như trong Hình 2.


Hình 2: Trình hướng dẫn DMS

Tạo một phiên bản sao chép

Tiếp theo, định cấu hình phiên bản sao chép, phiên bản này thiết lập kết nối giữa cơ sở dữ liệu nguồn và cơ sở dữ liệu đích, truyền dữ liệu và lưu trữ các thay đổi dữ liệu xảy ra trong quá trình tải dữ liệu ban đầu. Chỉ định một phiên bản sao chép Tên Mô tả và chọn một Lớp phiên bản (mặc định là dms.t2.medium), như trong Hình 3. Chọn một VPC và chọn tùy chọn để định cấu hình tính khả dụng cao với Mult-Az ; cài đặt mặc định được đặt thành “Không.” Chọn tùy chọn Có thể truy cập công khai .


Hình 3: Định cấu hình Phiên bản sao chép

Trong Nâng cao , giữ cài đặt mặc định cho Bộ nhớ được phân bổ (50 GB), Nhóm mạng con sao chép, Vùng khả dụng (Không ưu tiên) và Nhóm bảo mật VPC (Sử dụng mặc định), như trong Hình 4. Chọn khóa chính KMS (dbms) đã tạo trước đó trong Cài đặt môi trường phần.


Hình 4: Định cấu hình Cài đặt Nâng cao cho Phiên bản Nhân bản

Nhấp vào Tiếp theo, như trong Hình 5.


Hình 5: Tiếp theo

Cá thể sao chép bắt đầu được tạo, như được minh họa trong thông báo trong Hình 6. Tiếp theo, các kết nối cơ sở dữ liệu nguồn và đích cần được định cấu hình, chúng ta sẽ thực hiện điều này trong phần phụ tiếp theo.


Hình 6: Phiên bản sao chép bắt đầu được tạo

Tạo điểm cuối tác vụ di chuyển

Phiên bản sao chép có thể mất vài phút để được tạo. Các điểm cuối di chuyển có thể được thêm vào trong khi phiên bản sao chép đang được tạo. Chọn Công cụ nguồn là “mysql”, như trong Hình 7.


Hình 7: Chọn công cụ nguồn

Chọn Công cụ mục tiêu là “postgres”, như trong Hình 8.


Hình 8: Chọn công cụ mục tiêu

Trong Tên máy chủ , chỉ định Điểm cuối cho phiên bản RDS DB cho cơ sở dữ liệu bằng cách xóa :cổng hậu tố. Đối với cơ sở dữ liệu MySQL, Điểm cuối RDS là mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:3306 . Do đó, hãy chỉ định Tên máy chủ dưới dạng mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com , như trong Hình 9. Đối với cơ sở dữ liệu PostgreSQL trên RDS, Điểm cuối là postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com:5432 ; do đó, chỉ định Tên máy chủ dưới dạng postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com . Chỉ định cổng riêng biệt cho cơ sở dữ liệu nguồn và đích:3306 cho cơ sở dữ liệu MySQL và 5432 cho Postgres.


Hình 9: Chỉ định Tên máy chủ và Cổng cho Cơ sở dữ liệu Nguồn và Mục tiêu

Cuộn xuống để biết thêm cài đặt cấu hình điểm cuối, như trong Hình 10. Chọn Chế độ SSL như không cho cả cơ sở dữ liệu nguồn và cơ sở dữ liệu đích. Chỉ định Tên người dùng và Mật khẩu như được định cấu hình khi tạo các phiên bản RDS DB. Chỉ định tên Cơ sở dữ liệu PostgreSQL (postgresdb), cũng như được định cấu hình khi tạo phiên bản RDS DB.


Hình 10: Chỉ định chế độ SSL, Tên người dùng, Mật khẩu và SID hoặc Tên cơ sở dữ liệu

Trong Cài đặt nâng cao, các thuộc tính kết nối bổ sung có sẵn cho Cơ sở dữ liệu MySQL và cơ sở dữ liệu PostgreSQL có thể được chỉ định, nhưng không bắt buộc phải có cho hướng dẫn này. Chọn khóa chính KMS (dbms) cho cả cơ sở dữ liệu nguồn và cơ sở dữ liệu đích (xem Hình 11). Để kiểm tra điểm cuối DMS, hãy Chạy kiểm tra được cung cấp, như thể hiện trong Hình 11. Chạy thử nghiệm các nút bị chuyển sang màu xám hoặc bị vô hiệu hóa cho đến khi phiên bản sao chép đã được tạo.


Hình 11: Định cấu hình cài đặt nâng cao cho điểm cuối DMS

Khi phiên bản sao chép đã được tạo, thông báo “Phiên bản sao chép được tạo thành công” sẽ được hiển thị, như trong Hình 12.


Hình 12: Phiên bản sao chép đã được tạo thành công

Sau khi phiên bản sao chép đã được tạo, Chạy kiểm tra các nút được kích hoạt. Nhấp vào Chạy thử nghiệm , như trong Hình 13, cho mỗi cơ sở dữ liệu.


Hình 13: Chạy thử nghiệm

Các kết nối bắt đầu được kiểm tra, như được chỉ ra bởi thông báo “Kiểm tra kết nối điểm cuối” trong Hình 14.


Hình 14: Kiểm tra kết nối điểm cuối

Nếu các kết nối điểm cuối đã được cấu hình theo yêu cầu, thông báo “Kết nối đã kiểm tra thành công” sẽ hiển thị, như trong Hình 15. Nhấp vào Tiếp theo.


Hình 15: Đã kiểm tra kết nối thành công

Tạo tác vụ di chuyển

Sau khi tạo một phiên bản sao chép và các điểm cuối cơ sở dữ liệu, tiếp theo chúng ta sẽ tạo một nhiệm vụ di chuyển để kết nối với các điểm cuối và thực sự chuyển dữ liệu. Trong Tạo tác vụ trình hướng dẫn, chỉ định Tên tác vụ (mặc định cũng được chỉ định) và thêm mô tả nhiệm vụ (xem Hình 16). Chọn tùy chọn để Bắt đầu tác vụ khi tạo .


Hình 16: Tạo trình hướng dẫn tác vụ

Các điểm cuối Nguồn và Đích và phiên bản sao chép đã được định cấu hình trước đó và không thể sửa đổi khi tạo tác vụ. Chọn Loại di chuyển , trong đó liệt kê ba tùy chọn, như thể hiện trong Hình 17.

  • Di chuyển dữ liệu hiện có :Di chuyển các lược đồ, bảng và dữ liệu bảng hiện có đã tồn tại trong cơ sở dữ liệu nguồn, nhưng không di chuyển liên tục các thay đổi tiếp theo.
  • Di chuyển dữ liệu hiện có và sao chép các thay đổi đang diễn ra :Di chuyển các lược đồ, bảng và dữ liệu bảng hiện có đã tồn tại trong cơ sở dữ liệu nguồn và cũng liên tục di chuyển các thay đổi tiếp theo.
  • Chỉ sao chép các thay đổi dữ liệu :Không di chuyển các lược đồ, bảng và dữ liệu hiện có và chỉ di chuyển các thay đổi dữ liệu.

Chọn Di chuyển dữ liệu hiện có tùy chọn, như thể hiện trong Hình 17. Để di chuyển các thay đổi, đó là những gì hai tùy chọn khác cung cấp, thời gian lưu giữ nhật ký nhị phân trên phiên bản MySQL DB phải được tăng lên 24 giờ hoặc hơn.


Hình 17: Chọn loại Di chuyển làm Di chuyển dữ liệu hiện có

Tiếp theo, định cấu hình Cài đặt tác vụ . Chế độ chuẩn bị bảng mục tiêu cài đặt áp dụng cho các bảng trên cơ sở dữ liệu đích và cung cấp ba tùy chọn:

  • Không làm gì :Dữ liệu và siêu dữ liệu của các bảng mục tiêu không bị thay đổi
  • Bỏ bảng đúng mục tiêu :Các bảng hiện có, nếu có, sẽ bị xóa và các bảng mới được tạo
  • Cắt ngắn :Các bảng bị cắt bớt, có nghĩa là dữ liệu bảng bị xóa nhưng siêu dữ liệu bảng không bị thay đổi. Bao gồm các cột LOB trong bản sao cài đặt áp dụng cho các cột kiểu dữ liệu LOB trong cơ sở dữ liệu nguồn và cung cấp ba tùy chọn:
    • Không bao gồm cột LOB :Các cột LOB bị loại trừ khỏi quá trình di chuyển
    • Chế độ LOB đầy đủ :Di chuyển các LOB hoàn chỉnh bất kể kích thước; LOB được di chuyển theo từng phần, điều này có thể làm chậm quá trình di chuyển
    • Chế độ LOB có giới hạn :Cắt ngắn LOB đến kích thước được chỉ định trong kích thước LOB tối đa (kb)

Chọn Chế độ chuẩn bị bàn mục tiêu as Không làm gì, như thể hiện trong Hình 18. Chọn Bao gồm các cột LOB trong bản sao dưới dạng Chế độ LOB có giới hạn và chỉ định Kích thước LOB tối đa là 32 kb (mặc định). Chọn tùy chọn Bật ghi nhật ký tùy chọn.


Hình 18: Cài đặt tác vụ

Tiếp theo, thêm quy tắc lựa chọn và quy tắc chuyển đổi trong Ánh xạ bảng , như thể hiện trong Hình 19. Các ánh xạ bảng có thể được thêm vào bằng cách sử dụng Có hướng dẫn giao diện người dùng hoặc dưới dạng JSON . Giao diện người dùng có hướng dẫn được khuyến nghị. Ít nhất một quy tắc lựa chọn phải được thêm vào và các quy tắc chuyển đổi là tùy chọn. Các quy tắc lựa chọn được áp dụng, trong khi việc chọn lược đồ, bảng và cột từ cơ sở dữ liệu nguồn và các quy tắc chuyển đổi được áp dụng trước khi các lược đồ, bảng và cột được di chuyển sang cơ sở dữ liệu đích.


Hình 19: Ánh xạ bảng

Lược đồ có thể được chọn từ Tên lược đồ là trình đơn thả xuống hoặc nếu không có danh sách nào được liệt kê, hãy chọn Nhập giản đồ và chỉ định một lược đồ trong Tên lược đồ giống như đồng ruộng. Hành động trình đơn thả xuống liệt kê hai tùy chọn: Bao gồm Loại trừ . Tùy chọn Bao gồm bao gồm các lựa chọn được thực hiện cho các lược đồ và bảng và tùy chọn Loại trừ loại trừ các lược đồ và bảng. Các Loại trừ được xử lý sau khi Bao gồm. Không phải tất cả các lược đồ đều phải được chọn và không phải tất cả các bảng từ một lược đồ đều phải được chọn.

Chúng tôi sẽ thêm quy tắc lựa chọn sau:

  • Bao gồm tất cả các lược đồ và tất cả các bảng từ cơ sở dữ liệu nguồn

Đối với quy tắc lựa chọn, hãy chọn Nhập giản đồ và chỉ định Tên giản đồ là dưới dạng % , chọn tất cả các lược đồ trong cơ sở dữ liệu nguồn, như được hiển thị trong Hình 20. Chỉ định Tên bảng giống như dưới dạng % , chọn tất cả các bảng trong các lược đồ đã chọn. Chọn Hành động như Bao gồm .


Hình 20: Định cấu hình Quy tắc lựa chọn

Nhấp vào Thêm quy tắc lựa chọn (xem Hình 21).


Hình 21: Thêm quy tắc lựa chọn

Quy tắc lựa chọn được thêm vào, như thể hiện trong Hình 22. Khi tác vụ được tạo, vai trò IAM dms-cloudwatch-logs-role được tạo để cho phép DMS truy cập CloudWatch.


Hình 22: Đã thêm quy tắc lựa chọn

Tiếp theo, thêm một quy tắc chuyển đổi. Đối với điều này, hãy nhấp vào thêm quy tắc chuyển đổi liên kết, như trong Hình 23.


Hình 23: Thêm quy tắc chuyển đổi

Quy tắc chuyển đổi có cài đặt cho Mục tiêu . Quy tắc có ba tùy chọn, như trong Hình 24.

  • Lược đồ
  • Bảng
  • Cột

Ở đâu chỉ định một tập hợp con của các đối tượng được chọn bởi các quy tắc lựa chọn. Hành động là chuyển đổi sẽ được áp dụng và các tùy chọn sau có sẵn:

  • Đổi tên thành (khả dụng cho các đối tượng Lược đồ và Bảng)
  • Xóa cột (có sẵn cho các Cột)
  • Tạo chữ thường (có sẵn cho các Lược đồ, Bảng và Cột)
  • Tạo chữ hoa (có sẵn cho các Lược đồ, Bảng và Cột)
  • Thêm tiền tố (có sẵn cho Lược đồ, Bảng và Cột)
  • Xóa tiền tố (có sẵn cho các Lược đồ, Bảng và Cột)


Hình 24: Quy tắc chuyển đổi Cài đặt

PostgreSQL sử dụng chữ thường trong lược đồ, bảng và cột. Chúng tôi sẽ thêm ba quy tắc chuyển đổi:

  • Đặt tất cả các Giản đồ thành chữ thường
  • Đặt tất cả các Bảng thành chữ thường
  • Đặt tất cả các Cột là chữ thường

Để thêm quy tắc chuyển đổi đầu tiên trong số các quy tắc chuyển đổi này, hãy chọn Mục tiêu dưới dạng Giản đồ như trong Hình 25. Chỉ định Tên lược đồ giống như% . Chọn Hành động Tạo chữ thường và nhấp vào Thêm quy tắc chuyển đổi .


Hình 25: Thêm quy tắc chuyển đổi

Một quy tắc chuyển đổi được thêm vào (xem Hình 26). Để thêm một quy tắc chuyển đổi khác, hãy nhấp vào thêm quy tắc chuyển đổi liên kết lại.


Hình 26: Đã thêm quy tắc chuyển đổi

Chọn Mục tiêu dưới dạng Bảng , như trong Hình 27. Chỉ định Tên lược đồ giống như% . Chọn Tên bảng giống như% . Chọn Hành động Tạo chữ thường và nhấp vào Thêm quy tắc chuyển đổi .


Hình 27: Thêm Quy tắc chuyển đổi để đổi tên bảng

Chọn Mục tiêu dưới dạng Cột , như trong Hình 28. Chỉ định Tên lược đồ giống như% . Chọn Tên bảng giống như% . Chọn Tên cột giống như% . Chọn Hành động Tạo chữ thường và nhấp vào Thêm quy tắc chuyển đổi .


Hình 28: Thêm quy tắc chuyển đổi để đặt tên cột thành chữ thường

Ba quy tắc lựa chọn và một quy tắc biến đổi được thêm vào được thể hiện trong Hình 29. Khi tác vụ được chạy, các quy tắc lựa chọn được áp dụng trước các quy tắc biến đổi. Đối với cài đặt nâng cao, hãy nhấp vào Cài đặt nâng cao , như trong Hình 29.


Hình 29: Quy tắc lựa chọn và quy tắc chuyển đổi

Trong Cài đặt nâng cao , chọn Cài đặt bảng điều khiển và chỉ định Tạo bảng điều khiển trong mục tiêu bằng lược đồ dưới dạng công khai , như thể hiện trong Hình 30, và nhấp vào Xong.


Hình 30: Đặt lược đồ bảng điều khiển trong mục tiêu

Cài đặt Nâng cao được thêm vào (xem Hình 31).


Hình 31: Cài đặt nâng cao

Sau khi định cấu hình tác vụ, hãy nhấp vào Tạo tác vụ , như thể hiện trong Hình 32, để tạo tác vụ.


Hình 32: Tạo công việc

Một tác vụ di chuyển được tạo, như thể hiện trong Hình 33. Ban đầu, trạng thái tác vụ là “Đang tạo”.


Hình 33: Tác vụ di chuyển

Một nhiệm vụ có thể có một trong các trạng thái được thảo luận trong Bảng 1.

Trạng thái Mô tả
Đang tạo Công việc đang được tạo.
Sẵn sàng Tác vụ đã sẵn sàng để bắt đầu và chạy. Thường theo sau trạng thái "Đang tạo".
Bắt đầu Tác vụ đang bắt đầu, trong thời gian đó tác vụ kết nối với phiên bản sao chép và các điểm cuối cơ sở dữ liệu. Các quy tắc lựa chọn và chuyển đổi được áp dụng.
Đang chạy Tác vụ đang chạy, ngụ ý rằng tác vụ đang di chuyển cơ sở dữ liệu.
Tải xong Tác vụ đã hoàn tất tải (di chuyển) cơ sở dữ liệu.
Không thành công Tác vụ không thành công.
Lỗi Đã xảy ra lỗi trong quá trình di chuyển. Một số lược đồ và bảng có thể đã di chuyển thành công nhưng ít nhất một lược đồ hoặc bảng không di chuyển được.
Đang sửa đổi Tác vụ đang sửa đổi, thường là sau khi người dùng đã sửa đổi tác vụ.
Đang dừng Công việc đang dừng, thường là sau khi người dùng đã chọn dừng một công việc.
Đã dừng Tác vụ bị dừng, có thể do người dùng đã dừng tác vụ hoặc do loại Di chuyển của dữ liệu hiện có và sao chép các thay đổi đang diễn ra được sử dụng và tác vụ đã hoàn thành tải ban đầu .
Đang xóa Công việc sắp bị xóa, đó là do người dùng đã xóa công việc.

Bảng 1: Trạng thái nhiệm vụ

Hai vai trò IAM, một cho CloudWatch và một cho VPC, được tạo, như thể hiện trong Hình 34.


Hình 34: Vai trò IAM cho DMS

Kết luận

Trong hướng dẫn thứ ba này về việc di chuyển một phiên bản cơ sở dữ liệu MySQL trên RDS sang một phiên bản cơ sở dữ liệu Postgres trên RDS, chúng tôi đã tạo một quá trình di chuyển DMS bao gồm phiên bản sao chép, điểm cuối di chuyển và tác vụ di chuyển. Trong hướng dẫn thứ tư, chúng ta sẽ thảo luận về việc chạy quá trình di chuyển DMS để thực hiện quá trình di chuyển và đánh giá kết quả.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vấn đề Java + Mysql UTF8

  2. Lỗi khởi động máy chủ MySQL 'Máy chủ thoát mà không cập nhật tệp PID'

  3. Lỗi nghiêm trọng:Gọi đến một hàm thành viên bind_param () trên boolean

  4. mySQL ::chèn vào bảng, dữ liệu từ bảng khác?

  5. Tạo biến bảng trong MySQL