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

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

Cơ sở dữ liệu MySQL và cơ sở dữ liệu PostgreSQL đều là hệ quản trị cơ sở dữ liệu quan hệ nguồn mở (RDBMS) được xếp hạng lần lượt 2 và 4, theo DBEngines.com. Cả hai đều được triển khai bằng C (C ++ cũng được sử dụng cho cơ sở dữ liệu MySQL) và cả hai đều cung cấp các tính năng tương tự, chẳng hạn như hỗ trợ XML, chỉ mục phụ, đồng thời, độ bền và các chức năng do người dùng xác định. Cơ sở dữ liệu PostgreSQL cung cấp một số ưu điểm, một số ưu điểm như sau:

  • Hỗ trợ các kiểu dữ liệu nâng cao như mảng đa chiều và kiểu do người dùng xác định
  • Biểu thức bảng chung (CTE) và các hàm Window đã có sẵn kể từ PostgreSQL 8.4, trong khi chỉ được thêm vào MySQL trong phiên bản 8.0
  • Hỗ trợ các phép nối bên ngoài đầy đủ
  • Hỗ trợ danh sách VALUES để tạo "bảng hằng số" có thể được sử dụng trong truy vấn
  • Hỗ trợ đặt các hàm trả về create_series
  • Hỗ trợ các truy vấn song song sử dụng nhiều CPU để trả lời các truy vấn nhanh hơn kể từ phiên bản 9.6
  • Hỗ trợ các chế độ xem cụ thể hóa

Nếu di chuyển từ MySQL sang cơ sở dữ liệu PostgreSQL AWS, DMS (Dịch vụ di chuyển cơ sở dữ liệu) cung cấp dịch vụ được quản lý đáng tin cậy với thời gian chết bằng 0 để sao chép dữ liệu liên tục. Trong bốn hướng dẫn, chúng ta sẽ thảo luận về việc di chuyển một phiên bản cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL, cả hai đều chạy trên AWS Relational Database Service (RDS). Hướng dẫn này có các phần sau:

  • Thiết lập Môi trường
  • Tạo Người dùng IAM cho DMS

Thiết lập Môi trường

Điều kiện tiên quyết duy nhất là tài khoản AWS, có thể được tạo tại liên kết này. Tạo khóa mã hóa chính KMS để sử dụng với DMS nếu chưa có khóa chính. Khóa chính KMS được tạo từ IAM> Khóa mã hóa bảng điều khiển. Chúng tôi đã sử dụng khóa mã hóa chính KMS được gọi là “dbms” trong hướng dẫn này.

Cài đặt cơ sở dữ liệu MySQL và cơ sở dữ liệu PostgreSQL trên máy cục bộ để sử dụng các ứng dụng giao diện khách để kết nối với các phiên bản cơ sở dữ liệu MySQL và PostgreSQL trên RDS.

Tạo người dùng IAM cho DMS

DMS được tích hợp đầy đủ với một số dịch vụ AWS khác, chẳng hạn như RDS cho cơ sở dữ liệu, IAM để quản lý danh tính và truy cập, KMS để mã hóa dữ liệu và CloudWatch để ghi nhật ký. DMS cũng hỗ trợ S3 (Dịch vụ lưu trữ đơn giản) làm mục tiêu cho việc di chuyển. Trong phần này, chúng ta sẽ tạo một người dùng IAM được sử dụng với DMS để di chuyển một phiên bản Cơ sở dữ liệu MySQL sang cơ sở dữ liệu PostgreSQL. Người dùng IAM được tạo như sau:

  1. Tạo Chính sách IAM với tất cả các quyền và tuyên bố chính sách bắt buộc.
  2. Tạo người dùng IAM dựa trên Chính sách IAM.

Để tạo chính sách IAM, hãy nhấp vào Tạo chính sách trong Bảng điều khiển IAM, như trong Hình 1.


Hình 1: Tạo chính sách

Trong Tạo chính sách trình hướng dẫn, chọn Tạo chính sách của riêng bạn , như trong Hình 2.


Hình 2: Chọn tùy chọn Tạo chính sách của riêng bạn

Trong Chính sách đánh giá , chỉ định Tên chính sách (DMS). Sau đó, sao chép tài liệu chính sách sau vào Tài liệu chính sách lĩnh vực hoặc khu vực.

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "dms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "rds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "kms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "iam:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ec2:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "cloudwatch:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "aws-marketplace:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "logs:*",
         "Resource": "*"
      }
   ]
}

Tài liệu chính sách bổ sung quyền truy cập CloudWatch để ghi nhật ký và RDS cho cơ sở dữ liệu. Nhấp vào Xác thực chính sách và nếu thông báo là “Chính sách hợp lệ”, hãy nhấp vào Tạo chính sách , như trong Hình 3.


Hình 3: Tạo chính sách

Nếu chính sách được tạo, thông báo trong Hình 4 sẽ được hiển thị.


Hình 4: DMS đã được tạo

Tiếp theo, thêm người dùng IAM. Chọn Người dùng trong trang tổng quan IAM và nhấp vào Thêm người dùng , như trong Hình 5.


Hình 5: Thêm người dùng

Chỉ định Tên người dùng (dvohra). Sau đó, chọn cả hai tùy chọn được liệt kê cho Loại truy cập (xem Hình 6).


Hình 6: Thêm chi tiết người dùng

Chọn Mật khẩu tùy chỉnh tùy chọn cho Mật khẩu bảng điều khiển , chỉ định mật khẩu và nhấp vào Tiếp theo:Quyền , như trong Hình 7.


Hình 7: Định cấu hình loại truy cập

Tiếp theo, đặt quyền cho người dùng. Nhấp vào Đính kèm trực tiếp các chính sách hiện có , như trong Hình 8.


Hình 8: Đính kèm trực tiếp các chính sách hiện có

Trong Loại chính sách lọc, tìm kiếm “DMS”, là chính sách được tạo trước đó. Chọn chính sách DMS như thể hiện trong Hình 9 và nhấp vào Tiếp theo.


Hình 9: Chọn Chính sách DMS

Trong Đánh giá , chính sách DMS phải được liệt kê là Chính sách được quản lý trong Quyền tóm lược. Nhấp vào Tạo người dùng , như trong Hình 10.


Hình 10: Tạo người dùng

Người dùng IAM được tạo (xem Hình 11).


Hình 11: Người dùng IAM đã tạo

Người dùng IAM được liệt kê trong IAM> Người dùng bảng điều khiển, như trong Hình 12.


Hình 12: Người dùng IAM

Để đăng nhập với tư cách là người dùng IAM đã tạo, hãy nhấp vào liên kết dành cho người dùng đó, chọn Thông tin đăng nhập bảo mật và sao chép liên kết đăng nhập bảng điều khiển , như trong Hình 13.


Hình 13: Liên kết đăng nhập bảng điều khiển

Đăng nhập với tư cách là người dùng IAM đã tạo bằng liên kết đăng nhập Bảng điều khiển cho các phần tiếp theo.

Kết luận

Trong phần đầu tiên trong số bốn hướng dẫn về cách di chuyển phiên bản cơ sở dữ liệu MySQL trên RDS sang phiên bản cơ sở dữ liệu Postgres trên RDS, chúng tôi đã tạo một người dùng IAM để thực hiện việc di chuyển.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xóa tất cả các ký tự số không phải chữ cái khỏi một chuỗi trong MySQL?

  2. Cách hiển thị đối chiếu của một cột trong MySQL

  3. Truy vấn tham số MySQL

  4. JSON_ARRAY_INSERT () - Chèn giá trị vào một mảng JSON trong MySQL

  5. Tôi nên xử lý --secure-file-priv trong MySQL như thế nào?