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

Cách tạo một bản sao của Cụm cơ sở dữ liệu MySQL hoặc PostgreSQL của bạn

Nếu bạn đang quản lý cơ sở dữ liệu sản xuất, rất có thể bạn đã phải sao chép cơ sở dữ liệu của mình sang một máy chủ khác không phải là máy chủ sản xuất. Phương pháp cơ bản để tạo bản sao là khôi phục cơ sở dữ liệu từ một bản sao lưu gần đây vào một máy chủ cơ sở dữ liệu khác. Một phương pháp khác là sao chép từ cơ sở dữ liệu nguồn trong khi nó vẫn đang chạy, trong trường hợp này, điều quan trọng là cơ sở dữ liệu gốc không bị ảnh hưởng bởi bất kỳ quy trình nhân bản nào.

Tại sao bạn cần sao chép cơ sở dữ liệu?

Cụm cơ sở dữ liệu nhân bản rất hữu ích trong một số trường hợp:

  • Khắc phục sự cố cụm sản xuất nhân bản của bạn trong môi trường thử nghiệm an toàn trong khi thực hiện các hoạt động phá hoại trên cơ sở dữ liệu.
  • Kiểm tra bản vá / nâng cấp cơ sở dữ liệu nhân bản để xác thực quy trình nâng cấp trước khi áp dụng cho cụm sản xuất.
  • Xác thực sao lưu và khôi phục cụm sản xuất bằng cách sử dụng cụm sao chép.
  • Xác thực hoặc kiểm tra các ứng dụng mới trên một cụm sản xuất nhân bản trước khi triển khai nó trên cụm sản xuất trực tiếp.
  • Nhanh chóng sao chép cơ sở dữ liệu cho các yêu cầu kiểm toán hoặc tuân thủ thông tin, chẳng hạn như vào cuối quý hoặc cuối năm mà nội dung của cơ sở dữ liệu không được thay đổi.
  • Cơ sở dữ liệu báo cáo có thể được tạo định kỳ để tránh thay đổi dữ liệu trong quá trình tạo báo cáo.
  • Di chuyển cơ sở dữ liệu sang máy chủ mới, môi trường triển khai mới hoặc trung tâm dữ liệu mới.

Khi chạy cơ sở hạ tầng cơ sở dữ liệu của bạn trên đám mây, chi phí sở hữu máy chủ lưu trữ (máy ảo dùng chung hoặc chuyên dụng) thấp hơn đáng kể so với cách truyền thống là thuê không gian trong trung tâm dữ liệu hoặc sở hữu máy chủ vật lý. Hơn nữa, hầu hết việc triển khai đám mây có thể được tự động hóa dễ dàng thông qua các API của nhà cung cấp, phần mềm máy khách và tập lệnh. Do đó, sao chép một cụm có thể là một cách phổ biến để sao chép môi trường triển khai của bạn, chẳng hạn như từ nhà phát triển sang dàn dựng đến sản xuất hoặc ngược lại.

Chúng tôi chưa thấy tính năng này được cung cấp bởi bất kỳ ai trên thị trường, vì vậy chúng tôi có đặc quyền là giới thiệu cách hoạt động của nó với ClusterControl.

Sao chép Cụm MySQL Galera

Một trong những tính năng thú vị trong ClusterControl là nó cho phép bạn nhanh chóng sao chép, một MySQL Galera Cluster hiện có để bạn có một bản sao chính xác của tập dữ liệu trên cụm khác. ClusterControl thực hiện thao tác nhân bản trực tuyến mà không có bất kỳ khóa hoặc mang lại thời gian chết cho cụm hiện có. Nó giống như một hoạt động mở rộng quy mô cụm ngoại trừ cả hai cụm đều độc lập với nhau sau khi quá trình đồng bộ hóa hoàn tất. Cụm sao chép không nhất thiết phải có cùng kích thước cụm với cụm hiện có. Chúng tôi có thể bắt đầu với cụm một nút và mở rộng quy mô với nhiều nút cơ sở dữ liệu hơn ở giai đoạn sau.

Trong ví dụ này, chúng ta đang có một cụm được gọi là "Staging" mà chúng tôi muốn sao chép thành một cụm khác có tên là "Sản xuất". Tiền đề là cụm phân đoạn đã được lưu trữ dữ liệu cần thiết sẽ sớm được đưa vào sản xuất. Cụm sản xuất bao gồm 3 nút khác, với các thông số kỹ thuật sản xuất.

Sơ đồ sau đây tóm tắt kiến ​​trúc cuối cùng của những gì chúng tôi muốn đạt được:

Điều đầu tiên cần làm là thiết lập SSH không mật khẩu từ máy chủ ClusterControl đến các máy chủ sản xuất. Trên máy chủ ClusterControl, hãy chạy như sau:

$ whoami

root

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Nhập mật khẩu gốc của máy chủ đích nếu được nhắc.

Từ danh sách cụm cơ sở dữ liệu ClusterControl, nhấp vào nút Cluster Action và chọn Clone Cluster. Trình hướng dẫn sau sẽ xuất hiện:

Chỉ định địa chỉ IP hoặc tên máy chủ của cụm mới và đảm bảo bạn nhận được tất cả các biểu tượng đánh dấu màu xanh lá cây bên cạnh máy chủ được chỉ định. Biểu tượng màu xanh lá cây có nghĩa là ClusterControl có thể kết nối với máy chủ thông qua SSH không cần mật khẩu. Nhấp vào nút "Cụm sao" để bắt đầu triển khai.

Các bước triển khai là:

  1. Tạo một cụm mới bao gồm một nút.
  2. Đồng bộ hóa cụm một nút mới qua SST. Nhà tài trợ là một trong những máy chủ nguồn.
  3. Các nút mới còn lại sẽ tham gia vào cụm sau khi nhà tài trợ của cụm nhân bản được đồng bộ hóa với cụm.

Sau khi hoàn tất, Cụm MySQL Galera mới sẽ được liệt kê trong bảng điều khiển cụm ClusterControl sau khi công việc triển khai hoàn tất.

Lưu ý rằng sao chép cụm chỉ sao chép các máy chủ cơ sở dữ liệu chứ không phải toàn bộ ngăn xếp của cụm. Điều này có nghĩa là, các thành phần hỗ trợ khác liên quan đến cụm như bộ cân bằng tải, địa chỉ IP ảo, trọng tài Galera hoặc nô lệ không đồng bộ sẽ không được sao chép bởi ClusterControl. Tuy nhiên, nếu bạn muốn sao chép dưới dạng bản sao chính xác của cơ sở hạ tầng cơ sở dữ liệu hiện có của mình, bạn có thể đạt được điều đó với ClusterControl bằng cách triển khai các thành phần đó một cách riêng biệt sau khi hoạt động nhân bản cơ sở dữ liệu hoàn tất.

Tạo Cụm Cơ sở dữ liệu từ Bản sao lưu

Một tính năng tương tự khác được cung cấp bởi ClusterControl là "Tạo cụm từ sao lưu". Tính năng này được giới thiệu trong ClusterControl 1.7.1, đặc biệt cho các cụm Galera Cluster và PostgreSQL nơi người ta có thể tạo một cụm mới từ bản sao lưu hiện có. Đối với nhân bản cụm, hoạt động này không mang lại tải bổ sung cho cụm nguồn với sự cân bằng của cụm sao chép sẽ không ở trạng thái hiện tại là cụm nguồn.

Để tạo cụm từ bản sao lưu, bạn phải tạo bản sao lưu đang hoạt động. Đối với Galera Cluster, tất cả các phương pháp sao lưu đều được hỗ trợ trong khi đối với PostgreSQL, chỉ pgbackrest không được hỗ trợ để triển khai cụm mới. Từ ClusterControl, một bản sao lưu có thể được tạo hoặc lên lịch dễ dàng trong ClusterControl -> Backups -> Create Backup. Từ danh sách bản sao lưu đã tạo, nhấp vào Khôi phục bản sao lưu, chọn bản sao lưu từ danh sách và chọn "Tạo cụm từ bản sao lưu" từ tùy chọn khôi phục:

Trong ví dụ này, chúng tôi sẽ triển khai một cụm sao chép luồng PostgreSQL mới cho môi trường dàn dựng, dựa trên bản sao lưu hiện có mà chúng tôi có trong cụm sản xuất. Sơ đồ sau minh họa kiến ​​trúc cuối cùng:

Điều đầu tiên cần làm là thiết lập SSH không mật khẩu từ máy chủ ClusterControl đến các máy chủ sản xuất. Trên máy chủ ClusterControl, hãy chạy như sau:

$ whoami

root

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Khi bạn chọn Tạo Cụm Từ Sao lưu, ClusterControl sẽ mở hộp thoại trình hướng dẫn triển khai để hỗ trợ bạn thiết lập cụm mới:

Phiên bản PostgreSQL Streaming Replication mới sẽ được tạo từ bản sao lưu đã chọn, sẽ được sử dụng làm tập dữ liệu cơ sở cho cụm mới. Bản sao lưu đã chọn phải có thể truy cập được từ các nút trong cụm mới hoặc được lưu trữ trong máy chủ ClusterControl.

Nhấp vào "Tiếp tục" sẽ mở trình hướng dẫn triển khai cụm cơ sở dữ liệu tiêu chuẩn:

Lưu ý rằng mật khẩu người dùng root / admin cho cụm này phải giống như mật khẩu quản trị / gốc PostgreSQL như được bao gồm trong bản sao lưu. Làm theo trình hướng dẫn cấu hình tương ứng và ClusterControl sau đó thực hiện triển khai theo thứ tự sau:

  1. Cài đặt các phần mềm và phụ thuộc cần thiết trên tất cả các nút PostgreSQL.
  2. Bắt đầu nút đầu tiên.
  3. Phát trực tiếp và khôi phục bản sao lưu trên nút đầu tiên.
  4. Định cấu hình và thêm phần còn lại của các nút.

Sau khi hoàn tất, Cụm sao chép PostgreSQL mới sẽ được liệt kê trong bảng điều khiển cụm ClusterControl sau khi công việc triển khai hoàn tất.

Kết luận

ClusterControl cho phép bạn sao chép hoặc sao chép một cụm cơ sở dữ liệu sang nhiều môi trường chỉ với một số lần nhấp chuột. Bạn có thể tải xuống miễn phí ngay hôm nay. Chúc mừng nhân bả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. Người dùng mới và quản lý LDAP trong ClusterControl 1.8.2

  2. Cách cài đặt và bảo mật MariaDB trên CentOS 8

  3. Khắc phục “LỖI 1136 (21S01):Số lượng cột không khớp với số lượng giá trị ở hàng 1” khi Chèn Dữ liệu vào MariaDB

  4. Khắc phục:Quyền truy cập bị từ chối đối với người dùng ‘root’ @ ’localhost’ trong MariaDB

  5. Xử lý khối lượng dữ liệu lớn với MySQL và MariaDB