
Bài viết này sẽ hướng dẫn các bạn cách cài đặt Mariadb Galera Cluster trên 2 server Ubuntu chế độ multi-master.
Tính năng của MariaDB Galera Cluster:
- Cung cấp giải pháp cặp db acitve-active multi-master
- Bạn có thể truy cập đọc/ghi vào bất cứ node nào của cluster.
- Các mode db tự động ghép nối vào cluster
- Cho phép đọc ghi song song ở mức row
Định nghĩa các node trong file /etc/hosts:
# cat /etc/hosts 10.131.74.92 galera-db-01 10.131.35.167 galera-db-02
Bước 1: Cài đặt Mariadb trên từng node
Thực hiện theo hướng dẫn tại bài viết: Cài đặt MariaDB trên Ubuntu
Bước 2: Cấu hình Node đầu tiên
sudo vim /etc/mysql/mariadb.cnf
Thêm vào các thông tin sau:
character-set-server = utf8 character_set_server = utf8
Cấu hình Galera:
vim /etc/mysql/mariadb.conf.d/galera.cnf
[mysqld] bind-address=0.0.0.0 default_storage_engine=InnoDB binlog_format=row innodb_autoinc_lock_mode=2 # Galera cluster configuration wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address="gcomm://10.131.74.92,10.131.35.167" wsrep_cluster_name="mariadb-galera-cluster" wsrep_sst_method=rsync # Cluster node configuration wsrep_node_address="10.131.74.92" wsrep_node_name="galera-db-01"
Chú ý thay đổi địa chỉ IP của node, tên node!
Bước 3: Cấu hình node còn lại:
vim /etc/mysql/mariadb.conf.d/galera.cnf
[mysqld] bind-address=0.0.0.0 default_storage_engine=InnoDB binlog_format=row innodb_autoinc_lock_mode=2 # Galera cluster configuration wsrep_on=ON wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address="gcomm://10.131.74.92,10.131.35.167" wsrep_cluster_name="mariadb-galera-cluster" wsrep_sst_method=rsync # Cluster node configuration wsrep_node_address=" 10.131.35.167 " wsrep_node_name="galera-db-02"
Bước 4: Khởi động Galera Cluster trên Ubuntu
Stop mariadb on all nodes:
systemctl stop mariadb
Bây giờ khởi đông cluster mới trên node01 (galera-node-01):
galera_new_cluster
Test kết quả cluster vừa tạo:
mysql -u root -p -e “show status like ‘wsrep_%'”
Hiện tại thì cluster size sẽ là 1:
root@galera-db-01:~# mysql -u root -p -e "show status like 'wsrep_cluster_size'" Enter password: +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 1 | +--------------------+-------+
Trên Node 02 chạy lệnh khởi động mariadb:
systemctl start mariadb
Kiểm tra lại cluster lần nữa sẽ được kết quả 2 node:
root@galera-db-01:~# mysql -u root -p -e "show status like 'wsrep_cluster_size'" Enter password: +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | wsrep_cluster_size | 2 | +--------------------+-------+
Bước 5: Test sự hoạt động của Cluster
Tạo một database trên node 01 và kiểm tra kết quả ở cả 2 node:
root@galera-node-01:~# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 50 Server version: 10.3.7-MariaDB-1:10.3.7+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database galera_test; Query OK, 1 row affected (0.004 sec)
Kiểm tra trên node 02:
MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | galera_test | | information_schema | | mysql | | performance_schema | +--------------------+ 4 rows in set (0.000 sec)
Để lại một phản hồi