Cài Đặt Và Cấu Hình Percona Xtradb Cluster 8.0 Trên Centos 7

Bài viết này sẽ hướng dẫn bạn cách Cài Đặt Và Cấu Hình Percona Xtradb Cluster 8.0 Trên Centos 7. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

Giới thiệu về Percona Xtradb Cluster

Percona XtraDB Cluster là một giải pháp mã nguồn mở hoàn toàn và có tính khả dụng cao cho MySQL. Nó tích hợp Percona Server và Percona XtraBackup với thư viện Galera cho phép sao chép đa nguồn đồng bộ.

Một cluster bao gồm các node, trong đó mỗi node chứa cùng một tập dữ liệu được đồng bộ hóa giữa các node. Cấu hình được đề xuất là có ít nhất 3 node, nhưng bạn cũng có thể có 2 node. Mỗi node là một phiên bản MySQL Server thông thường (ví dụ: Percona Server). Bạn có thể chuyển đổi một phiên bản MySQL Server hiện có thành một node và chạy cluster bằng cách sử dụng node này làm cơ sở dữ liệu. Ngoài ra, bạn cũng có thể tách bất kỳ node nào ra khỏi cluster và sử dụng nó như một phiên bản MySQL Server thông thường.

Chuẩn bị

  • Để cài đặt Percona XtraDB Cluster, đầu tiên chúng ta cần chuẩn bị 3 máy chủ CentOS 7
NodeIP
Node 1123.30.129.182
Node 2123.30.129.187
Node 3123.30.129.178
  • Tiếp theo, các bạn nhớ tắt Selinux ở mỗi máy bằng cách
# vi /etc/selinux/config
SELINUX=disabled
  • Cuối cùng các bạn allow firewall các port bên dưới
    • 3306
    • 4444
    • 4567
    • 4568

Hướng dẫn Cài Đặt Và Cấu Hình Percona Xtradb Cluster 8.0 Trên Centos 7

Bước 1: Để cài đặt Percona XtraDB Cluster 8.0 trên mỗi server, các bạn dùng lệnh sau:

# yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# percona-release enable-only pxc-80 release
# percona-release enable tools release
# yum install percona-xtradb-cluster

Bước 2: Cấu hình đồng bộ giữa các node

Trước khi cấu hình các bạn phải dừng dịch vụ mysql trên mỗi server lại

# systemctl stop mysql

Sau đó, các bạn dùng công cụ chỉnh sửa vi để cấu hình mỗi server

# vi /etc/my.cnf

Cấu hình node 1

wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://
wsrep_cluster_name=pxc-cluster
wsrep_node_address=123.30.129.182
wsrep_node_name=pxc-cluster-node-1
pxc_strict_mode=ENFORCING
pxc-encrypt-cluster-traffic=OFF

Cấu hình node 2

wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://123.30.129.182,123.30.129.187,123.30.129.178
wsrep_cluster_name=pxc-cluster
wsrep_node_address=123.30.129.187
wsrep_node_name=pxc-cluster-node-2
pxc_strict_mode=ENFORCING
pxc-encrypt-cluster-traffic=OFF

Cấu hình node 3

wsrep_provider=/usr/lib64/galera4/libgalera_smm.so
wsrep_cluster_address=gcomm://123.30.129.182,123.30.129.187,123.30.129.178
wsrep_cluster_name=pxc-cluster
wsrep_node_address=123.30.129.178
wsrep_node_name=pxc-cluster-node-3
pxc_strict_mode=ENFORCING
pxc-encrypt-cluster-traffic=OFF

Ý nghĩa các thông số

  • wsrep_provider: Chỉ định đường dẫn đến thư viện Galera. Vị trí tuỳ thuộc vào hệ điều hành:
    • Debian/Ubuntu: /usr/lib/galera4/libgalera_smm.so
    • Red Hat/CentOS: /usr/lib64/galera4/libgalera_smm.so
  • wsrep_cluster_address: Chỉ định địa chỉ IP của các node trong cụm cluster. Phải có ít nhất một node để tham gia vào cụm nhưng nên liệt kê tất cả địa chỉ IP của tất cả các node. Bằng cách này nếu node đầu tiên trong danh sách không khả dụng, node tham gia có thể sử dụng địa chỉ IP khác
  • wsrep_cluster_name: Chỉ định tên cụm cluster. Tất cả các node trọng cụm phải có tên giống nhau
  • wsrep_node_address: Chỉ định địa chỉ node
  • wsrep_node_name: Tên node. Nếu như biến này không được chỉ định, hostname của server sẽ được sử dụng
  • pxc_strict_mode: Quy mẫu nghiêm khắc PXC được bật mặc định và thiết lập ở chế độ ENFORCING, chế độ này chặn việc sử dụng thử nghiệm và các tính năng không được hỗ trợ trong Percona XtraDB Cluster.
  • pxc_encrypt_cluster_traffic: Theo mặc định, pxc_encrypt_cluster_traffic được kích hoạt bằng cách sử dụng một kênh bảo mật để đồng bộ. Nên biến này không thể thay đổi trong quá trình chạy. Giá trị mặc định của pxc_encrypt_cluster_traffic giúp cải thiện tính bảo mật của hệ thống của bạn. Khi pxc_encrypt_cluster_traffic không được bật, bất kỳ ai có quyền truy cập vào mạng của bạn đều có thể kết nối với các node Percona XtraDB Cluster với tư cách là một máy khách hoặc một node khác tham gia cụm. Điều này có thể cho phép họ truy vấn và sao chép dữ liệu.

Bước 3: Khởi động node đầu tiên

[root@node1 ~]# systemctl start mysql@bootstrap.service

Để kiểm tra xem node 1 đã hoạt động chưa ta dùng lệnh sau

mysql> show status like 'wsrep%';

Bước 4: Khởi động các node còn lại

Khởi động node 2 bằng lệnh sau

[root@node2 ~]# systemctl start mysql

Sau đó, ta kiểm tra trạng thái hoạt động của node bằng lệnh sau

mysql> show status like 'wsrep%';

Tương tự như node 2, node 3 ta cũng làm như thế

[root@node3 ~]# systemctl start mysql

mysql> show status like 'wsrep%';

Ở node 1, các bạn thay đổi mật khẩu root đăng nhập

Bước 5: Kiểm tra tính năng đồng bộ

[root@node1 ~]#  grep 'temporary password' /var/log/mysqld.log
[root@node1 ~]#  mysql –u root –p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootPass';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

Sau đó chuyển qua node 2,3 các bạn đăng nhập bằng mật khẩu root vừa thay đổi.

Nếu đăng nhập thành công thì có nghĩa là tính năng đồng bộ đã hoạt động.

Các có thể kiểm tra thêm bằng cách tạo database trên node 2 và chuyển qua node 3 tạo table. Sau đó kiểm tra cả 3 node xem dữ liệu có đồng bộ giống nhau không.

Was this article helpful?