MySQL 8.0 đã có sẵn trong một thời gian và Percona XtraDB Cluster 8.0 cũng đã có sẵn trong một thời gian. Ngoài ra, MySQL 5.6 sắp hết thời gian sử dụng và những người sử dụng PXC 5.6 cũng sẽ sớm muốn chuyển sang phiên bản mới hơn. Hãy cùng xem quy trình và chia sẻ một số mẹo xung quanh quy trình này.
Hãy nhớ rằng, bên dưới là MySQL ...
Đối với người mới bắt đầu, bạn phải lưu ý rằng Galera chỉ là một plugin hoạt động với MySQL, vì vậy bạn phải đảm bảo rằng bạn tuân thủ các quy tắc và quy trình di chuyển cho phiên bản MySQL cụ thể được sử dụng trong PXC. Nếu chúng tôi đang chạy PXC 5.7 và bạn muốn nâng cấp lên PXC 8.0, trước tiên bạn cần đánh dấu vào tất cả các hộp trong danh sách kiểm tra nâng cấp MySQL. Chúng tôi đã đề cập một số điều đó trong blog của mình mô tả quá trình nâng cấp giữa MySQL 5.7 và MySQL 8.0. Điều đó cũng có nghĩa là chỉ các đường dẫn nâng cấp được hỗ trợ bởi MySQL là khả thi - ví dụ:bạn không thể nâng cấp PXC 5.6 trực tiếp lên PXC 8.0 vì nâng cấp trực tiếp MySQL từ 5.6 lên 8.0 không được hỗ trợ.
Đọc Tài liệu Nâng cấp
Như thường lệ, bất cứ khi nào bạn lên kế hoạch nâng cấp, bạn nên tự làm quen với tài liệu do nhà cung cấp chuẩn bị. Percona có một trang web dành riêng để giải thích quá trình nâng cấp và những cảnh báo xung quanh nó. Chúng ta sẽ điểm qua một số điểm trong bài đăng trên blog này.
Thay đổi Cấu hình
Có một số thay đổi trong cài đặt cấu hình mặc định có thể gây ra sự cố trong quá trình nâng cấp - pxc_strict_mode được đặt thành ENFORCING theo mặc định. Chế độ này chặn bất kỳ loại cấu hình nào đang thử nghiệm và có thể ảnh hưởng đến sự ổn định của cụm. Bìa séc, trong số những thứ khác, công cụ lưu trữ đã sử dụng, định dạng nhật ký nhị phân, sự tồn tại của khóa chính và một số thứ khác. Khi nâng cấp, bạn có thể muốn đặt nó thành PERMISSIVE để theo dõi sự không tương thích trong nhật ký lỗi nhưng nếu không thì hãy để PXC chạy ngay cả khi một số thứ không ở trạng thái tốt nhất.
Một cài đặt khác, pxc_encrypt_cluster_traffic, cũng được bật theo mặc định, thực thi mã hóa giao tiếp Galera giữa các nút. Không thể kết hợp các nút với các nút được mã hóa và không được mã hóa trong cùng một cụm, do đó bạn phải thiết lập nó trên tất cả các nút hoặc đảm bảo bạn tắt pxc_encrypt_cluster_traffic trên các nút PXC 8.0 mới.
Thay đổi trong Plugin Xác thực Mặc định
Chúng tôi đã đề cập đến vấn đề này trong bài đăng blog của chúng tôi về việc di chuyển sang MySQL 8.0, nhưng thay đổi này rất quan trọng nên chúng tôi cũng muốn nhắc lại nó ở đây - với MySQL 8.0, plugin xác thực mặc định sẽ thay đổi thành caching_sha2_password - điều này có thể làm cho một số ứng dụng cũ không tương thích với MySQL 8.0. Tất nhiên, bạn có thể thay đổi cài đặt này nhưng nếu bạn không cân nhắc, nó có thể phản tác dụng sau khi nâng cấp xong.
Quy trình Nâng cấp
Đối với người mới bắt đầu, xin lưu ý rằng mặc dù không được khuyến nghị nhưng với một số nút có thể có cả nút PXC 5.7 và PXC 8.0 chạy trong cùng một cụm. Điều này mở ra cơ hội để thực hiện nâng cấp tại chỗ, trực tiếp. Quá trình này sẽ khá đơn giản - dừng nút PXC 5.7, nâng cấp nó lên PXC 8.0 bằng cách cài đặt phiên bản mới và khởi động nó. Trong thư mục dữ liệu tiến trình sẽ được nâng cấp lên phiên bản mới và nút PXC 8.0 mới sẽ có thể khởi động đúng cách và tham gia vào cụm. Sau đó, bạn tiến hành từng nút một, chuyển chúng từ PXC 5.7 sang PXC 8.0. Xin lưu ý rằng bạn nên tránh SST vì không thể sử dụng thư mục dữ liệu từ nút PXC 8.0 trên 5.7. Các cách khác xung quanh sẽ hoạt động tốt. Để ngăn SST xảy ra, hãy đảm bảo rằng kích thước gcache đủ lớn để có thể ghi và cho phép IST xảy ra. Bản thân IST sẽ hoạt động tốt.
Nếu bạn có nhiều nút miễn phí hơn, bạn luôn có thể thực hiện nâng cấp với hai cụm trên các phiên bản chính khác nhau chạy song song và được kết nối thông qua sao chép không đồng bộ. Điều quan trọng là, cách tiếp cận như vậy sẽ cho phép bạn kiểm tra PXC 8.0 kỹ lưỡng hơn vì bạn sẽ thiết lập và chạy nó trong một thời gian (về cơ bản, miễn là bạn cần) và bạn có thể kiểm tra ứng dụng của mình trên cụm này - bất kỳ lúc nào trong thời gian bạn có thể di chuyển một số khối lượng công việc chỉ đọc sang PXC 8.0 để xem các truy vấn được xử lý như thế nào, nếu có bất kỳ lỗi hoặc sự cố hiệu suất nào.
Nếu bạn sử dụng ClusterControl, điều này có thể được thực hiện bằng cách sử dụng công việc "Tạo cụm nô lệ".
Bạn sẽ được yêu cầu quyết định xem dữ liệu ban đầu sẽ đến từ đâu, chủ Nút PXC hoặc từ bản sao lưu.
Bạn cũng sẽ cần chuyển các chi tiết kết nối như người dùng SSH và đường dẫn khóa .
Sau đó, bạn sẽ được yêu cầu chọn nhà cung cấp và phiên bản - bạn có thể muốn để sử dụng PXC 5.7 ngay bây giờ, bạn sẽ nâng cấp các nút sau đó, tự kiểm tra quá trình nâng cấp.
Cuối cùng, bạn phải chuyển tên máy chủ hoặc địa chỉ IP của nút cho ClusterControl tới kết nối và bắt đầu thiết lập các nút.
Kết quả là bạn sẽ có Cụm Percona XtraDB thứ hai chạy trong phiên bản 5.7 , sao chép từ cụm ban đầu. Cụm đó có thể được nâng cấp lên phiên bản mới và cuối cùng, bạn có thể chuyển lưu lượng truy cập của mình theo hướng đó. Chúng tôi đã giải thích chi tiết quy trình này trong bài đăng trên blog trước của chúng tôi.
Chúng tôi hy vọng rằng bài đăng blog ngắn này sẽ giúp bạn chuẩn bị tốt hơn để nâng cấp Percona XtraDB Cluster lên phiên bản 8.0.