MariaDB Advance: MariaDB Replication Update 2022

image 1 4043

Thủ Thuật Hướng dẫn MariaDB Advance: MariaDB Replication 2022

Replication là một tính năng được cho phép nội dung của một hoặc nhiều sever (được gọi là masters) được nhân đôi trên một hoặc nhiều sever (được gọi là slaves).
Bạn trọn vẹn có thể trấn áp tài liệu nào cần sao chép. Tất cả những cơ sở tài liệu, một hoặc nhiều cơ sở tài liệu hoặc những bảng trong cơ sở tài liệu đều trọn vẹn có thể được sao chép một cách tinh lọc.
Cơ chế chính được sử dụng trong nhân rộng là binary log . Nếu binary log được bật, toàn bộ những update cho cơ sở tài liệu (thao tác tài liệu và định nghĩa tài liệu) được ghi vào binary log dưới dạng binlog events. Các Slaves đọc binary log từ mỗi master truy vấn tài liệu để sao chép. Một relay log được tạo ra trên slave server, sử dụng định dạng in như những binary log, và điều này được sử dụng để thực thi sao chép. Các tệp nhật ký chuyển tiếp cũ được gỡ bỏ lúc không hề thiết yếu.
Một slave server theo dõi vị trí trong binlog master’s binlog  của yếu tố kiện ở đầu cuối được vận dụng trên slave. Điều này được cho phép slave server link lại và tiếp tục lại từ nơi nó tạm ngưng sau khoản thời hạn quy trình sao chép trong thời điểm tạm thời bị tạm ngưng. Nó cũng khá được cho phép một slave ngắt link, được nhân bản và tiếp theo đó có bản sao tiếp tục slave mới từ cùng một chủ master.
Masters và slaves tránh việc phải liên lạc với nhau. Hoàn toàn trọn vẹn có thể đưa sever ngoại tuyến hoặc ngắt link khỏi mạng và khi chúng quay trở lại, việc sao chép sẽ tiếp tục ở nơi nó tạm ngưng.
NỘI DUNGKhi nào thì nên dùng ReplicationCác quy mô thết lập ReplicationStandard ReplicationRing ReplicationStar ReplicationMulti-Source ReplicationThiết lập ReplicationLấy tọa độ Binary Log của MasterKhi nào thì nên dùng Replication
Replication được sử dụng trong một số trong những trường hợp phổ cập. Sử dụng gồm có:

Khả năng mở rộng: Bằng cách có một hoặc nhiều sever slave, việc đọc trọn vẹn có thể được trải rộng trên nhiều sever, giảm tải cho master. Kịch bản phổ cập nhất cho môi trường tự nhiên vạn vật thiên nhiên đọc cao, viết thấp là có một chủ, trong số đó toàn bộ những ghi xẩy ra, sao chép thành nhiều nô lệ, xử lý hầu hết mỗi lần đọc.
Phân tích tài liệu: Phân tích tài liệu trọn vẹn có thể có quá nhiều tác động đến sever master và điều này trọn vẹn có thể được xử lý tương tự trên sever slave, trong lúc master vẫn tiếp tục không biến thành tác động bởi tải thêm.
Hỗ trợ sao lưu: Sao lưu trọn vẹn có thể thuận tiện và đơn thuần và giản dị chạy hơn nếu sever không dữ thế chủ động thay đổi tài liệu. Một ngữ cảnh phổ cập là sao chép tài liệu về slave, tiếp theo đó bị ngắt link với master với tài liệu ở trạng thái ổn định. Sao lưu tiếp theo này được thực thi từ sever này.
Phân phối tài liệu: Thay vì được link với một master từ xa, thay vào đó, trọn vẹn có thể sao chép tài liệu cục bộ và thao tác từ tài liệu này.

Các quy mô thết lập Replication
Standard Replication

Cung cấp quy mô đọc vô hạn.
Cung cấp tính sẵn sàng cao bằng phương pháp tăng cấp  slave to master.

Ring Replication

Cung cấp đọc và viết tỷ suất.
Không xử lý xung đột.
Nếu một chủ thất bại, nhân rộng tạm ngưng.

Star Replication

Cung cấp đọc và viết tỷ suất.
Không xử lý xung đột.
Phải sử dụng những bộ lọc sao chép để tránh trùng lặp tài liệu.

Multi-Source Replication

Cho phép bạn phối hợp tài liệu từ những nguồn rất khác nhau.
Các miền rất khác nhau được thực thi độc lập tuy nhiên tuy nhiên trên toàn bộ những nô lệ.

Thiết lập Replication
Chú ý là Replication nên chỉ có thể thiết lập khi  master và slave chạy trên cùng một phiên bản hoặc phiên bản slave mới hơn phiên bản master. Trường hợp sever master có phiên bản cao hơn thế nữa sever slave thì Replication sẽ không còn tương thích.
Thiết lập trên server master.

Cho phép ghi binary log nếu nó không được kích hoạt
Cung cấp cho chủ master server_id duy nhất . Tất cả slave cũng phải được phục vụ một server_id. Đây trọn vẹn có thể là một số trong những từ là 1 đến 232-1 và phải là duy nhất cho từng sever trong nhóm replicating.
Chỉ định một tên duy nhất cho nhật ký replication với –log-basename . Nếu điều này sẽ không còn được chỉ định, tên hostname sever của những bạn sẽ tiến hành sử dụng và sẽ có được yếu tố nếu tên sever thay đổi.
Các Slaves sẽ cần sự được cho phép để link và khởi đầu sao chép từ một sever. Thông thường, điều này được thực thi bằng phương pháp tạo một người tiêu dùng slave chuyên được sử dụng và chỉ cấp quyền cho những người dân tiêu dùng đó để sao chép (REPLICATION SLAVE permission).

Các lệnh sau này  sẽ thiết lập trên sever Master, trước tiên ta thêm những thông số kỹ thuật kỹ thuật sau vào file my.cnf sever master
[mariadb]
log-bin
server_id=1
log-basename=master1

# thông số kỹ thuật kỹ thuật sau này được cho phép những link ngoài vào server.
skip-networking=0
skip-bind-address
Sau khi restart lại MariaDB trên sever master, toàn bộ chúng ta truy vấn MariaDB và khởi tạo user được cho phép chỉ đọc để phục vụ replication.
# khởi tạo user
CREATE USER ‘replication_user’@’%’ IDENTIFIED BY ‘Mật_khẩu’;
# cấp quyền REPLICATION cho user vừa tạo ở trên
GRANT REPLICATION SLAVE ON *.* TO ‘replication_user’@’%’;
#Flush quyền
FLUSH PRIVILEGES;
Có một số trong những tùy chọn trọn vẹn có thể tác động hoặc phá vỡ nhân rộng. Kiểm tra những setup sau để tránh những yếu tố.

skip-networking. Nếu skip-networking=1 . sever sẽ số lượng giới hạn link chỉ với localhost và ngăn toàn bộ những slaves từ xa link.
bind-address. Tương tự, nếu địa chỉ sever lắng nghe những link TCP / IP là 127.0.0.1 (localhost), những link slaves từ xa sẽ thất bại.

 
Thiết lập trên server slave
Cung cấp cho slave một server_id duy nhất. Tất cả những sever, mặc dầu là master hay slave, đều được phục vụ server_id. Đây trọn vẹn có thể là một số trong những từ là 1 đến 232-1 và phải là duy nhất cho từng sever trong replication. Máy chủ sẽ nên phải được khởi động lại để thay đổi trong tùy chọn này còn có hiệu lực hiện hành.
Thiết lập trong file my.cnf của sever slave
[mariadb]
server-id = 2
Sau khi restart lại MariaDB  là toàn bộ chúng ta đã khởi tạo slave hoàn tất. Công việc tiếp theo là toàn bộ chúng ta quay trở lại sever master và lấy được tạo độ của binary log .
Lấy tọa độ Binary Log của Master
Bây giờ bạn phải ngăn ngừa mọi thay đổi riêng với tài liệu trong lúc chúng ta xem vị trí binary log. Bạn sẽ sử dụng điều này để nói với slave đúng chuẩn điểm nào sẽ khởi đầu sao chép tài liệu.

Trên master, flush and lock toàn bộ những bảng bằng phương pháp chạy FLUSH TABLES WITH READ LOCK.
Lấy vị trí hiện tại trong binary log bằng phương pháp chạy SHOW MASTER STATUS:

MariaDB [(none)]> FLUSH TABLES WITH READ LOCK;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> SHOW MASTER STATUS;
+——————–+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————–+———-+————–+——————+
| master1-bin.000003 | 344 | | |
+——————–+———-+————–+——————+
1 row in set (0.001 sec)

Ghi lại rõ ràng File và Position
Bây giờ, Khi vẫn đang lock tables, toàn bộ chúng ta sao chép tài liệu từ master sang sang slave. Xem Sao lưu, Khôi phục để biết rõ ràng về kiểu cách thực thi việc này.
Lưu ý cho live database(database đang phục vụ): Bạn chỉ việc tạo một bản sao tài liệu, bạn tránh việc phải lock tables cho tới lúc slave đã nhập tài liệu.
Khi tài liệu đã được sao chép, bạn cũng trọn vẹn có thể giải phóng lock tables trên sever master bằng phương pháp chạy UNLOCK TABLES
# nhớ chạy lệnh sau này sau khoản thời hạn database đã được import trên sever slave
UNLOCK TABLES;
 

Bắt đầu slave
Khi tài liệu đã được import, bạn đã sẵn sàng khởi đầu replication. Bắt đầu bằng phương pháp chạy  CHANGE MASTER TO , đảm nói rằng MASTER_LOG_FILE khớp với tệp và MASTER_LOG_POS vị trí được trả về bởi SHOW MASTER STATUS trước đó. Ví dụ:
MariaDB [(none)]> STOP SLAVE;
MariaDB [(none)]> CHANGE MASTER TO
MASTER_HOST=’IP_server_master’,
MASTER_USER=’replication_user’,
MASTER_PASSWORD=’Mật _khẩu_user_replication_đã_tạo_trước_đó’,
MASTER_PORT=3306,
MASTER_LOG_FILE=’master1-bin.000003′,
MASTER_LOG_POS=344,
MASTER_CONNECT_RETRY=10;
Sau khi thiết lập hoàn tất, bạn cũng trọn vẹn có thể start slave và kiểm tra replication
MariaDB [(none)]> START SLAVE;
Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> SHOW SLAVE STATUS G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send sự kiện
Master_Host: 103.130.218.7
Master_User: replication_user
Master_Port: 3306
Connect_Retry: 10
Master_Log_File: master1-bin.000003
Read_Master_Log_Pos: 477
Relay_Log_File: slave-relay-bin.000002
Relay_Log_Pos: 690
Relay_Master_Log_File: master1-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 477
Relay_Log_Space: 999
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: conservative
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Slave_DDL_Groups: 1
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 0
1 row in set (0.000 sec)
Nếu bạn thấy 2 dòng  running như sau thì replication đã được thông số kỹ thuật kỹ thuật hoàn tất
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
 

đoạn Clip MariaDB Advance: MariaDB Replication mới nhất?

Pro đang tìm kiếm từ khóa MariaDB Advance: MariaDB Replication 2022-10-26 19:45:38 san sẻ Kinh Nghiệm Hướng dẫn trong nội dung bài viết một cách Mới Nhất.
#MariaDB #Advance #MariaDB #Replication MariaDB Advance: MariaDB Replication
===> Nếu bạn có thắc mắc hay yếu tố gì nội dung bài viết trọn vẹn có thể để lại phản hồi cuối bài nha.

Exit mobile version