Hướng dẫn cài đặt và kích hoạt FederatedX Engine trên MariaDB cho Ubuntu
Mục đích sử dụng FederatedX Engine
FederatedX là một engine cơ sở dữ liệu trong MariaDB (và MySQL) cho phép bạn truy cập vào cơ sở dữ liệu từ xa như thể nó là một bảng cục bộ.
Một số mục đích chính của việc sử dụng FederatedX Engine bao gồm:
- Truy cập dữ liệu từ xa: FederatedX cho phép bạn truy cập vào bảng dữ liệu từ một cơ sở dữ liệu khác. Điều này có thể rất hữu ích nếu bạn muốn kết hợp dữ liệu từ nhiều cơ sở dữ liệu khác nhau mà không cần phải tạo bản sao của dữ liệu.
- Sharding: FederatedX cũng có thể hỗ trợ shard dữ liệu. Sharding là quá trình chia nhỏ một cơ sở dữ liệu lớn thành các phần nhỏ hơn, được gọi là shards, để cải thiện hiệu suất và khả năng mở rộng.
- Mô hình dữ liệu phân tán: FederatedX Engine cung cấp một cách để triển khai mô hình dữ liệu phân tán, nơi dữ liệu được lưu trữ trên nhiều nơi và có thể được truy cập và quản lý dễ dàng.
Tuy nhiên, cần lưu ý rằng FederatedX không hỗ trợ các giao dịch hoặc bất kỳ tính năng nào của ACID, vì vậy nó không phù hợp với tất cả các ứng dụng.
Dưới đây là các bước để kích hoạt FederatedX Engine trên MariaDB trên hệ điều hành Ubuntu:
Mở terminal và đăng nhập vào MariaDB bằng câu lệnh sau
mysql -u root -p
(Bạn sẽ được yêu cầu nhập mật khẩu root.)
Dùng câu lệnh sau để kích hoạt FederatedX Engine
INSTALL SONAME 'ha_federatedx';
Kiểm tra xem plugin đã được kích hoạt thành công hay chưa bằng cách sử dụng câu lệnh:
SHOW PLUGINS;
Trong danh sách các plugins, bạn nên thấy FEDERATED
hoặc FEDERATEDX
và trạng thái ACTIVE
.
Nếu bạn muốn FederatedX Engine được kích hoạt mỗi khi bạn khởi động MariaDB
Hãy thêm dòng sau vào file my.cnf
(thường nằm trong /etc/mysql/my.cnf
hoặc /etc/my.cnf
)
[mysqld]
federated
Cuối cùng, khởi động lại MariaDB để thay đổi cấu hình có hiệu lực
sudo service mysql restart
Tạo bảng FederatedX
Để tạo bảng sử dụng FederatedX Engine, bạn cần sử dụng cú pháp tạo bảng thông thường trong SQL, nhưng thêm phần ENGINE=FEDERATED
vào cuối. Ví dụ:
CREATE TABLE test_table (
id INT(20) NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL DEFAULT '',
other INT(20) NOT NULL DEFAULT '0',
PRIMARY KEY (id),
INDEX name (name),
INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user:fed_password@localhost:3306/fed_db/fed_table';
Trong query trên, fed_user
, fed_password
, localhost:3306
, fed_db
và fed_table
là các thông tin của cơ sở dữ liệu từ xa mà bạn muốn liên kết với bảng FederatedX của mình.
Lưu ý: Chắc chắn bạn đã định rõ đầy đủ thông tin của cơ sở dữ liệu remote trong CONNECTION
để có thể liên kết chính xác.
Hy vọng hướng dẫn trên có thể giúp bạn cài đặt và thiết lập FederatedX Engine cho MariaDB một cách thành công.