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

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

Trong bốn hướng dẫn, chúng tôi đang khám phá việc di chuyển cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL bằng Dịch vụ di chuyển cơ sở dữ liệu AWS (DMS). Chúng tôi đã bắt đầu bằng cách tạo người dùng IAM cho DMS trong hướng dẫn đầu tiên, "Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 1" Sau đó, chúng tôi đã thảo luận về việc tạo các phiên bản của MySQL và PostgreSQL trên AWS Relational Database Service (RDS) trong hướng dẫn thứ hai, “Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 2” Trong hướng dẫn thứ ba, “Di chuyển MySQL sang PostgreSQL trên AWS RDS, Phần 3,” chúng tôi đã tạo một quá trình di chuyển DMS. Trong hướng dẫn cuối cùng này, chúng ta sẽ thảo luận về việc chạy di chuyển DMS để thực hiện di chuyển.

Hướng dẫn này có các phần sau:

  • Chạy Tác vụ Di chuyển DMS
  • Khám phá Cơ sở dữ liệu đã Di chuyển
  • Khám phá nhật ký CloudWatch
  • Các hạn chế trong MySQL đối với Di chuyển PostgreSQL với DMS
  • Kết luận

Chạy Tác vụ Di chuyển DMS

Sau khi nhiệm vụ đã được tạo, Trạng thái sẽ trở nên Sẵn sàng , như trong Hình 1. Nhấp vào Bắt đầu / Tiếp tục để bắt đầu nhiệm vụ.


Hình 1: Bắt đầu / Tiếp tục

Trạng thái sẽ trở thành Đang bắt đầu , như trong Hình 2.


Hình 2: Bắt đầu tác vụ

Khi tác vụ đã thiết lập kết nối với phiên bản sao chép và điểm cuối cơ sở dữ liệu và được áp dụng, bảng ánh xạ trạng thái sẽ trở thành Đang chạy , như trong Hình 3.


Hình 3: Trạng thái đang chạy

Quá trình di chuyển được chạy như được định cấu hình và sau khi quá trình di chuyển hoàn tất thành công, Trạng thái trở thành Tải hoàn tất , như thể hiện trong Hình 4. Các bảng được tải cho biết số lượng bảng được tải.


Hình 4: Trạng thái tải hoàn tất

Đối với các bảng đã được di chuyển, hãy nhấp vào Thống kê bảng , như thể hiện trong Hình 5. Thống kê Bảng, bao gồm Lược đồ, Bảng, Trạng thái, Số lượng Chèn, Xóa, Cập nhật, DDL, Hàng đầy tải và Tổng số được liệt kê.


Hình 5: Thống kê bảng

Nếu bảng cơ sở dữ liệu nguồn không bao gồm các bảng, thì Hàng tải đầy đủ là 0. Nếu một bảng nguồn có các hàng, các Hàng đầy tải cho biết số hàng như được hiển thị cho một số hàng trong Hình 6.


Hình 6: Hàng đầy tải đối với một số bảng là 0, trong khi đối với các bảng khác, số hàng được tải

Khám phá Cơ sở dữ liệu đã Di chuyển

Sau khi di chuyển các lược đồ và bảng cơ sở dữ liệu MySQL sang PostgreSQL, hãy liệt kê các lược đồ trong PostgreSQL CLI với dn yêu cầu. Các lược đồ được di chuyển sẽ được liệt kê, như thể hiện trong Hình 7. public lược đồ đã tồn tại trước khi di chuyển.


Hình 7: Các lược đồ được di chuyển từ MySQL sang Cơ sở dữ liệu PostgreSQL

Di chuyển DMS sẽ tự động chuyển đổi các loại cột của bảng. Chỉ mục phụ được thêm vào cho khóa chính, được tạo tự động trong ánh xạ bảng.

Dữ liệu bảng cũng được di chuyển, như được hiển thị cho mysql.user bảng trong Hình 8.


Hình 8: Dữ liệu Bảng cũng được di chuyển

Khi di chuyển từ kiểu cơ sở dữ liệu này sang kiểu cơ sở dữ liệu khác (di chuyển không đồng nhất), các ánh xạ kiểu dữ liệu được DMS thực hiện tự động. Loại Dữ liệu DMS trung gian được sử dụng trong quá trình di chuyển. Khi di chuyển từ Cơ sở dữ liệu MySQL sang PostgreSQL, đầu tiên các kiểu dữ liệu MySQL được di chuyển sang kiểu dữ liệu DMS bằng cách sử dụng ánh xạ tích hợp cho cơ sở dữ liệu MySQL làm cơ sở dữ liệu nguồn. Sau đó, kiểu dữ liệu DMS được ánh xạ tới kiểu dữ liệu PostgreSQL, một lần nữa sử dụng ánh xạ tích hợp cho PostgreSQL làm cơ sở dữ liệu đích. Các bảng liên quan đến RDS trong cơ sở dữ liệu MySQL trên RDS cũng được di chuyển sang cơ sở dữ liệu PostgreSQL, chẳng hạn như bảng “mysql”. ”Rds_replication_status” được hiển thị trong Hình 9.


Hình 9: Dữ liệu đã Di chuyển cho Bảng Thông tin RDS

Khám phá nhật ký CloudWatch

Nếu ghi nhật ký được định cấu hình, như chúng tôi đã làm, nhật ký có thể được theo dõi từ Nhật ký như thể hiện trong Hình 10. Nhấp vào liên kết tác vụ để liệt kê các nhật ký CloudWatch.


Hình 10: Nhật ký

Nhật ký CloudWatch được liệt kê (xem Hình 11).


Hình 11: Nhật ký CloudWatch

Như thông báo nhật ký CloudWatch trong Hình 12 cho biết, “Tất cả các bảng đã được tải. Tác vụ chỉ tải đầy đủ bị dừng ”.


Hình 12: Tất cả các bảng đã được tải

Số lượng bản ghi đã chuyển cũng được liệt kê, như đối với sys.sys_config bảng trong Hình 13.


Hình 13: Mục nhập nhật ký cho Bảng cơ sở dữ liệu bao gồm số bản ghi được chuyển

Nhật ký CloudWatch có thể được sử dụng để gỡ lỗi khi chạy tác vụ di chuyển. Thông báo lỗi được liệt kê cho các bảng không di chuyển thành công trong nhật ký CloudWatch.

Các hạn chế trong MySQL đối với Di chuyển PostgreSQL với DMS

Di chuyển từ cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL bằng DMS không phải là không có giới hạn. Bản thân dịch vụ DMS có giới hạn cho mỗi tài khoản người dùng AWS. Các giới hạn DMS khác có thể dành riêng cho cơ sở dữ liệu. Các kiểu dữ liệu nguồn DMS cho MySQL không bao gồm bộ ký tự 4 byte UTF-8 (utf8mb4). Bộ ký tự được hỗ trợ bởi DMS là Mã Trang 1252 Windows Latinh 1 (ANSI) và các ký tự không có trong bộ ký tự có thể tạo ra lỗi trong quá trình di chuyển. Một số hạn chế tồn tại đối với cơ sở dữ liệu MySQL dưới dạng nguồn DMS. Hạn chế duy nhất khi sử dụng PostgreSQL làm cơ sở dữ liệu đích DMS là kiểu dữ liệu JSON được chuyển đổi thành kiểu dữ liệu CLOB gốc.

Kết luận

Trong bốn hướng dẫn, chúng ta đã thảo luận 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Triển khai máy chủ Percona cho một đám mây kết hợp

  2. Vòng lặp qua các tập kết quả trong MySQL

  3. Cách lặp qua tập kết quả mysql

  4. Hàm MySQL DEGREES () - Chuyển đổi từ Radian sang Độ

  5. mysql chọn int làm tiền tệ hay chuyển đổi int sang định dạng tiền tệ?