Cài Đặt và Cấu Hình MySQL Router: Kết Nối Cluster An Toàn

Giới thiệu

Multi-node MySQL là giải pháp tiên tiến giúp nâng cao khả năng mở rộng và tăng cường hiệu suất cho các hệ thống cơ sở dữ liệu. Bằng cách phân tán dữ liệu và xử lý trên nhiều nút (node), Multi-node MySQL không chỉ giảm tải cho một máy chủ mà còn đảm bảo tính toàn vẹn và tính sẵn sàng cao hơn. Đây là một công nghệ quan trọng đối với các doanh nghiệp cần xử lý lượng lớn dữ liệu trong thời gian thực mà vẫn đảm bảo tính ổn định của hệ thống.

Về chi tiết các bạn có thể tham khảo tại trang chủ của MySQL & MariaDB :

https://dev.mysql.com/doc/mysql-cluster-excerpt/8.0/en/mysql-cluster-general-info.html

https://mariadb.com/kb/en/galera-cluster

Phần 5 : Cài Đặt và Cấu Hình MySQL Router – Kết Nối Cluster An Toàn

MySQL Router là công cụ quan trọng giúp điều hướng kết nối giữa các ứng dụng và cluster. Trong bài viết này, chúng ta sẽ tìm hiểu cách cài đặt và cấu hình MySQL Router để đảm bảo kết nối an toàn và tối ưu giữa các nút trong cluster.

Cài đặt MySQL Router

Sử dụng APT Package Manager(Ubuntu):

sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb

Update  APT repository:

sudo apt-get update

Install  MySQL Router:

sudo apt-get install mysql-router-community

Sử dụng RPM packages (CentOS):

install the MySQL Yum repository as described

sudo rpm -Uvh mysql84-community-release-el7-1.noarch.rpm

Cấu hình tuỳ chọn thay đổi phiên bản 8.4 hoặc 8.0

 sudo yum-config-manager --disable mysql-8.4-lts-community
 sudo yum-config-manager --enable  mysql80-community

 sudo yum-config-manager --disable mysql-tools-8.4-lts-community
 sudo yum-config-manager --enable  mysql-tools-community

 Install MySQL Router

sudo yum install mysql-router-community

Cấu hình MySQL Router:

Tạo folder

mkdir /etc/mysqlrouter/mysql-router

Cấu hình sử dụng bootstrap

 mysqlrouter --bootstrap cluster@192.168.33.20:3306 --directory /etc/mysqlrouter/mysql-router --user=root

Output như sau


# Bootstrapping MySQL Router instance at '/etc/mysqlrouter/mysql-router'...

Error: It appears that a router instance named '' has been previously configured in this host. If that instance no longer exists, use the --force option to overwrite it.
root@dbrouter:/etc/mysqlrouter# mysqlrouter --bootstrap cluster@192.168.33.20:3306 --directory /etc/mysqlrouter/mysql-router --user=root --force
Please enter MySQL password for cluster: 
# Bootstrapping MySQL Router instance at '/etc/mysqlrouter/mysql-router'...

- Creating account(s) (only those that are needed, if any)
- Verifying account (using it to run SQL queries that would be run by Router)
- Storing account in keyring
- Adjusting permissions of generated files
- Creating configuration /etc/mysqlrouter/mysql-router/mysqlrouter.conf

# MySQL Router configured for the InnoDB Cluster 'groupa'

After this MySQL Router has been started with the generated configuration

    $ mysqlrouter -c /etc/mysqlrouter/mysql-router/mysqlrouter.conf

InnoDB Cluster 'bestprice' can be reached by connecting to:

## MySQL Classic protocol

- Read/Write Connections: localhost:6446
- Read/Only Connections:  localhost:6447

## MySQL X protocol

- Read/Write Connections: localhost:6448
- Read/Only Connections:  localhost:6449

-----------------------
Create a systemd service file to start the mysql router :
    nano /etc/systemd/system/mysqlrouter-cluster.service
----------------------- ## Paste to config file
[Unit]

Description=MySQL Router

After=syslog.target

After=network.target
 

[Service]

Type=simple

User=root

Group=root

PIDFile=/etc/mysqlrouter/mysql-router/mysqlrouter.pid

ExecStart=/bin/bash -c "/usr/bin/mysqlrouter -c /etc/mysqlrouter/mysql-router/mysqlrouter.conf"

 
Restart=on-failure

RestartPreventExitStatus=1

PrivateTmp=true
 
[Install]

WantedBy=multi-user.target

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

systemctl daemon-reload
systemctl start mysqlrouter-groupa
systemctl status mysqlrouter-groupa

Tóm lại

Với MySQL Router, bạn đã hoàn thành việc kết nối các ứng dụng với MySQL Cluster một cách an toàn và hiệu quả. Để đảm bảo hệ thống hoạt động trơn tru, hãy tiếp tục theo dõi và tối ưu hóa cluster của bạn.

Xem thêm

I am gaining experience and developing my skills in the field of information technology. My focus areas include basic network administration, troubleshooting, and supporting IT infrastructure. I am keen on learning and growing in various aspects of IT, from system setup and maintenance to exploring new technologies and methodologies.

Post Comment