Để triển khai MySQL Cluster trên nhiều máy chủ, cần thiết lập và cấu hình môi trường một cách chi tiết, đảm bảo rằng tất cả các node trong cluster có thể hoạt động đồng bộ. Quá trình bao gồm cài đặt và cấu hình MySQL Server, cài đặt NDB Cluster, và cấu hình các node tham gia cluster.

Cài đặt và cấu hình MySQL Server

MySQL Server đóng vai trò như SQL Node trong MySQL Cluster. Đây là nơi xử lý các truy vấn SQL từ ứng dụng và liên kết với các Data Node để truy xuất dữ liệu.

Bước 1: Cài đặt MySQL Server

Trước tiên, cài đặt MySQL Server trên các máy chủ sẽ được sử dụng làm SQL Node. Cách thức cài đặt phụ thuộc vào hệ điều hành đang sử dụng.

Trên hệ điều hành Ubuntu/Debian:

sudo apt-get update
sudo apt-get install mysql-server

Trên hệ điều hành CentOS/RedHat:

sudo yum install mysql-server
Bước 2: Cấu hình MySQL Server để kết nối với cluster

Sau khi cài đặt MySQL Server, cần chỉnh sửa tệp cấu hình my.cnf để cho phép MySQL Server kết nối với cluster.

sudo nano /etc/mysql/my.cnf

Thêm các dòng sau vào tệp cấu hình để kích hoạt MySQL Cluster:

[mysqld]
ndbcluster                      # Kích hoạt NDB Cluster
ndb-connectstring=management_ip  # Địa chỉ IP của Management Node

Thay management_ip bằng địa chỉ IP thực của Management Node. Sau khi cấu hình, khởi động lại MySQL Server để thay đổi có hiệu lực:

sudo service mysql restart

Cài đặt NDB Cluster

NDB Cluster là phần quan trọng trong MySQL Cluster, cung cấp cơ chế lưu trữ phân tán. Mỗi node trong cluster sẽ được cài đặt thành phần NDB để tham gia vào quá trình lưu trữ và xử lý dữ liệu.

Bước 1: Cài đặt NDB Cluster

Trên các máy chủ sẽ được sử dụng làm Data NodeManagement Node, cài đặt gói NDB Cluster.

Trên Ubuntu/Debian:

sudo apt-get install mysql-cluster-community-management-server
sudo apt-get install mysql-cluster-community-data-node

Trên CentOS/RedHat:

sudo yum install mysql-cluster-community-management-server
sudo yum install mysql-cluster-community-data-node
Bước 2: Cấu hình Management Node

Trên Management Node, tạo tệp cấu hình config.ini để điều khiển các node trong cluster:

sudo nano /var/lib/mysql-cluster/config.ini

Ví dụ tệp cấu hình:

[ndb_mgmd]
hostname=management_ip          # Địa chỉ IP của Management Node
datadir=/var/lib/mysql-cluster

[ndbd default]
noofreplicas=2                  # Số lượng bản sao của dữ liệu

[ndbd]
hostname=data_node1_ip           # Địa chỉ IP của Data Node 1
datadir=/usr/local/mysql/data

[ndbd]
hostname=data_node2_ip           # Địa chỉ IP của Data Node 2
datadir=/usr/local/mysql/data

[mysqld]
hostname=sql_node_ip             # Địa chỉ IP của SQL Node

Sau khi cấu hình, khởi động Management Node:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini

Cấu hình các node trong cluster

Sau khi cài đặt và cấu hình Management Node, tiếp tục cấu hình các Data NodeSQL Node.

Bước 1: Cấu hình Data Node

Trên các Data Node, tạo thư mục dữ liệu nếu chưa có và cấu hình kết nối tới Management Node:

sudo mkdir -p /usr/local/mysql/data

Chỉnh sửa tệp cấu hình NDB trên Data Node:

sudo nano /etc/my.cnf

Thêm các dòng sau:

[mysql_cluster]
ndb-connectstring=management_ip  # Địa chỉ IP của Management Node

Khởi động Data Node:

ndbd
Bước 2: Cấu hình SQL Node

Trên SQL Node, MySQL Server đã được cài đặt. Để kết nối SQL Node với cluster, đảm bảo rằng trong tệp cấu hình my.cnf đã có cấu hình:

[mysqld]
ndbcluster                      # Kích hoạt NDB Cluster
ndb-connectstring=management_ip  # Địa chỉ IP của Management Node

Khởi động lại MySQL Server:

sudo service mysql restart

Với các bước cài đặt và cấu hình trên, hệ thống MySQL Cluster đã sẵn sàng. Các thành phần Management Node, Data Node, và SQL Node sẽ hoạt động cùng nhau để cung cấp một hệ thống cơ sở dữ liệu phân tán mạnh mẽ.