Pre-checking và Chuẩn Bị Hệ Thống Trước Khi Tạo MySQL Cluster
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 3 : Pre-checking và Chuẩn Bị Hệ Thống Trước Khi Tạo MySQL Cluster
Trước khi tạo MySQL Cluster, bạn cần thực hiện các bước pre-checking và chuẩn bị hệ thống để đảm bảo mọi thành phần hoạt động trơn tru. Bài viết này sẽ hướng dẫn bạn cách kiểm tra phần cứng, mạng và cấu hình phần mềm cần thiết.
Kiểm tra các thông số và chuẩn bị
Cấu hình 3 host với thông số :
node 0 : 192.168.33.20/24 ‘cluster’@’%’ apt install mysql-server mysql-shell(8.0)
node 1 : 192.168.33.21/24 ‘cluster’@’%’ apt install mysql-server mysql-shell(8.0)
node 2 : 192.168.33.22/24 ‘cluster’@’%’ apt install mysql-server mysql-shell(8.0)
Phân Quyền cho InnoDB Cluster :
GRANT CREATE USER, FILE, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SELECT, SHUTDOWN, SUPER ON *.* TO 'cluster'@'%' WITH GRANT OPTION;
GRANT DELETE, INSERT, UPDATE ON mysql.* TO 'cluster'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata.* TO 'cluster'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata_bkp.* TO 'cluster'@'%' WITH GRANT OPTION;
GRANT ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, REFERENCES, SHOW VIEW, TRIGGER, UPDATE ON mysql_innodb_cluster_metadata_previous.* TO 'cluster'@'%' WITH GRANT OPTION;
Chuẩn bị trên các host 1, 2 ,3 các cấu hình như sau
nano /etc/mysql/mysql.conf.d/my.cnf
Host 1:
#innodb-1
binlog_checksum = NONE
enforce_gtid_consistency = ON
gtid_mode = ON
log_slave_updates = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
server_id = 55554
transaction_write_set_extraction = XXHASH64
disable_log_bin
log_bin = ON
Host 2:
#innodb-2
binlog_checksum = NONE
enforce_gtid_consistency = ON
gtid_mode = ON
log_slave_updates = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
server_id = 55555
transaction_write_set_extraction = XXHASH64
disable_log_bin
log_bin = ON
Host 3:
#innodb-3
binlog_checksum = NONE
enforce_gtid_consistency = ON
gtid_mode = ON
log_slave_updates = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
server_id = 55557
transaction_write_set_extraction = XXHASH64
disable_log_bin
log_bin = ON
Trên Mysql Shell đặt tham số và connect để config từng host
Đặt các tham số :
var c1 = 'cluster@192.168.33.20:3306'
var c2 = 'cluster@192.168.33.21:3306'
var c3 = 'cluster@192.168.33.22:3306'
Connect từng host và kiểm tra :
Host 1 :
shell.connect(c1)
dba.configureInstance('cluster@192.168.33.20')
Host 2 :
shell.connect(c2)
dba.configureInstance('cluster@192.168.33.21')
Host 3 :
shell.connect(c3)
dba.configureInstance('cluster@192.168.33.22')
Kiểm tra trạng thái tiêu chuẩn từng host :
Host 1 :
dba.configureInstance('cluster@192.168.33.20:3306') -> Status : Ok là đạt
Host 2 :
dba.checkInstanceConfiguration('cluster@192.168.33.21:3306'); -> status OK
Host 3 :
dba.checkInstanceConfiguration('cluster@localhost:3306'); -> status OK
Tóm lại
Hoàn thành bước pre-checking và chuẩn bị hệ thống giúp bạn tránh các lỗi không mong muốn khi thiết lập MySQL Cluster. Đây là bước quan trọng để bảo đảm hệ thống hoạt động ổn định và hiệu quả.
Xem thêm
- Phần 8: Khắc Phục Lỗi Thường Gặp Và Mẹo Sử Dụng MySQL Shell Hiệu Quả
- Phần 7: Cấu Hình MySQL Shell Qua Command Line – Các Lệnh Quan Trọng Bạn Cần Biết
- Phần 6: Giám Sát Hiệu Suất MySQL Cluster – Các Công Cụ và Phương Pháp Hiệu Quả
- Phần 5 : Cài Đặt và Cấu Hình MySQL Router – Kết Nối Cluster An Toàn
- Phần 4: Tạo MySQL Cluster và Tham Gia Group: Hướng Dẫn Từng Bước
- Phần 2 : Cài đặt MySQL và MySQL Shell
- Phần 1: Giới thiệu về Multi-node MySQL: Cách Hoạt Động và Ứng Dụng
Post Comment