Galera Cluster là một giải pháp mở rộng cho MySQL, cho phép triển khai cơ sở dữ liệu với khả năng đồng bộ hóa đa chiều, cung cấp tính sẵn sàng cao và cải thiện hiệu suất. Bài viết này sẽ hướng dẫn bạn cách sử dụng Galera Cluster để triển khai MySQL đồng bộ một cách chi tiết.

1. Giới Thiệu Về Galera Cluster

Galera Cluster là một giải pháp cung cấp khả năng sao chép đồng bộ cho MySQL, cho phép nhiều nút (nodes) hoạt động cùng nhau như một cơ sở dữ liệu duy nhất. Nó hỗ trợ chế độ sao chép đa chiều, nghĩa là mọi thay đổi trên một nút sẽ được đồng bộ hóa với tất cả các nút khác trong cluster.

2. Các Yêu Cầu Trước Khi Cài Đặt

Trước khi bắt đầu cài đặt Galera Cluster, hãy đảm bảo rằng bạn đã đáp ứng các yêu cầu sau:

  • Cài đặt MySQL hoặc MariaDB (Galera hoạt động với cả hai).
  • Mỗi nút cần phải có địa chỉ IP tĩnh.
  • Các cổng cần thiết mở (3306 cho MySQL, 4567 cho Galera, 9200 cho SST).

3. Cài Đặt Galera Cluster

Bước 1: Cài Đặt MySQL/MariaDB

Trước tiên, bạn cần cài đặt MySQL hoặc MariaDB trên mỗi nút. Sử dụng lệnh sau để cài đặt:

# Đối với MySQL
sudo apt-get update
sudo apt-get install mysql-server

# Đối với MariaDB
sudo apt-get update
sudo apt-get install mariadb-server

Bước 2: Cài Đặt Galera

Cài đặt Galera trên mỗi nút:

sudo apt-get install galera

Bước 3: Cấu Hình Galera

Bạn cần chỉnh sửa tệp cấu hình MySQL để thêm thông tin cho Galera Cluster. Mở tệp cấu hình MySQL (thường là /etc/mysql/my.cnf hoặc /etc/mysql/mysql.conf.d/mysqld.cnf) và thêm các dòng sau:

[mysqld]
# Galera Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so
wsrep_cluster_name="my_galera_cluster"
wsrep_node_address="IP_NODE"  # Địa chỉ IP của nút này
wsrep_node_name="node_name"    # Tên nút, có thể là tên máy chủ hoặc bất kỳ tên nào bạn muốn
wsrep_sst_method=rsync

Lưu ý rằng bạn cần thay thế IP_NODEnode_name bằng thông tin thực tế của nút.

Bước 4: Khởi Động Cluster

Ở Nút Đầu Tiên

Trên nút đầu tiên, bạn cần khởi động Galera Cluster bằng lệnh sau:

sudo systemctl start mysql

Ở Nút Khác

Trên các nút còn lại, khởi động Galera Cluster bằng lệnh sau:

sudo systemctl start mysql

4. Kiểm Tra Trạng Thái Cluster

Sau khi khởi động, bạn có thể kiểm tra trạng thái của Galera Cluster bằng cách sử dụng lệnh sau trong MySQL:

SHOW STATUS LIKE 'wsrep%';

Kết quả sẽ cho bạn biết trạng thái hiện tại của cluster, bao gồm số lượng nút, trạng thái đồng bộ hóa, và các thông tin liên quan khác.

5. Thực Hiện Các Thao Tác

Bây giờ bạn có thể thực hiện các thao tác trên MySQL như thường lệ. Mọi thay đổi sẽ tự động được đồng bộ hóa giữa các nút trong cluster.

Kết Luận

Galera Cluster là một giải pháp mạnh mẽ để triển khai MySQL với khả năng đồng bộ hóa và sẵn sàng cao. Với các bước cài đặt và cấu hình đơn giản, bạn có thể dễ dàng thiết lập một môi trường MySQL đồng bộ với Galera Cluster. Hãy chắc chắn kiểm tra trạng thái của cluster thường xuyên và thực hiện các biện pháp bảo trì cần thiết để đảm bảo hoạt động hiệu quả của hệ thống.