Cấu hình sao chép master-slave mongodb

Xin chào tất cả các bạn. Hôm nay Cloudcraft sẽ hướng dẫn các bạn cấu hình MySQL Replication đơn giản để sử dụng cho backup database trong thời gian thực nhé.

Cấu hình sao chép master-slave mongodb

Phần 1. Nói chuyện (Review)

Ở đây đơn giản mình chỉ làm đơn giản 1 chủ và 1 nô lệ thôi, các nô lệ còn lại các bạn làm tương tự

Cấu hình môi trường bao gồm 2 máy ảo CentOS chạy MySQL 5. 6, đương nhiên các bạn hoàn toàn có thể cấu hình trên các VPS, cấu hình này đơn giản và không phụ thuộc vào cấu hình môi trường nhé các bạn. MySQL is play is all

Tuy nhiên, nhược điểm của kiểu sao chép MySQL này chỉ ở mức đơn giản, với hệ thống lớn thì chắc chắn ai dùng cả đâu. Cần lưu ý rằng, thiết lập sao chép MySQL cần được thực hiện trước khi trang web của bạn đi vào hoạt động, nếu dữ liệu không được thao tác liên tục trên các cơ sở dữ liệu mà bạn sử dụng để sao chép thì sẽ nảy sinh các vấn đề vô cùng . Vì tính năng này không có đồng bộ và kiểm tra đúng sai đâu nhé. Nó dựa trên một bảng danh sách các thay đổi theo thời gian, sau đó sao chép dựa trên thời gian mà chúng ta chọn cho nó. Quá tệ không đúng =))

Phần 2. Configure (Cấu hình)

Gửi các bạn một số thông tin IP (IP này dùng cục bộ, với IP công khai cũng tương tự)

  • Sư phụ

hệ điều hành. CentOS 6

địa chỉ IP. 192. 168. 100. 129

mysql. 5. 6. 36

  • Nô lệ

hệ điều hành. CentOS 7

địa chỉ IP. 192. 168. 100. 131

mysql. 5. 6. 36

– In Master ta configure as after

Configure Master on config of mysql by default at /etc/my. cnf as after

vim /etc/my.cnf

Add content

[mysql]
server-id=1
log_bin=/var/log/mysql/mysql-bin
bind-address=192.168.100.129

Giải thích

  • id máy chủ. is a number of title only for an thành phần tham gia vào bản sao, không nhất thiết master must be “1”
  • log_bin. là tập tin sẽ chứa các thay đổi khi cơ sở dữ liệu được cập nhật
  • địa chỉ liên kết. is tham số xác định mysql will bind at any address

Sau khi hoàn tất cấu hình Master, khởi động lại mysql

service mysqld restart

Bạn có thể kiểm tra việc master tạo các mysql-bin như thế nào như sau

ls -l /var/log/mysql/

Cấu hình sao chép master-slave mongodb

Mỗi tập tin chứa sự thay đổi của cơ sở dữ liệu sẽ có tiền tố là “mysql-bin. ”, hậu tố là “00000X”. Số X sẽ tăng dần theo từng đơn vị khi chúng ta Bắt đầu hoặc Khởi động lại mysql

Bây giờ sử dụng mysql để lấy thông số trạng thái thay đổi cơ sở dữ liệu trên master, với mục đích là đặt bắt đầu sao chép trên Slave. Để cố định sự cố này, ta sẽ khóa master tạm thời về chế độ Read Only

mysql

hoặc

________số 8

flush tables with read lock;

[mysql]0

[mysql]1

Cấu hình sao chép master-slave mongodb

In this write mysql-bin. 000007 và 262, thì có thể hiểu master đã thay đổi theo mysql-bin. 000007 tại vị trí 262. Bạn cần nhớ số này để thiết lập bên nô lệ, tuy nhiên vấn đề cũng thực sự bắt nguồn từ tệp việc chọn và vị trí để cho nô lệ biết khi nào thì bắt đầu sao chép, nếu chọn quá sớm thì sẽ sao chép dữ liệu đã có

Cấp quyền cho một người dùng Slave kết nối với Master

[mysql]2

[mysql]3

Kết xuất tất cả các cơ sở dữ liệu đang có trên master

mysqldump –all-databases –single-transaction -u root -p > /root/all_databases. sql

Sau khi kết xuất xong, ta có thể khóa ở trên

  • Sư phụ

________số 8

[mysql]5

[mysql]6

– In Slave ta config as after

Copy file dump từ Master sang Slave

[mysql]7

Ta import return cho Slave

mysql -u root -p < /root/all-databases. sql

Configure Slave on config of mysql by default at /etc/my. cnf as after

vim /etc/my.cnf

Add content

[mysql]9
server-id=10
log_bin=/var/log/mysql/mysql-bin
server-id=12

Giải thích

  • nhật ký chuyển tiếp. tương tự như log_bin, nếu bạn không cấu hình cũng không sao nhưng nếu không thiết lập cũng sẽ gây ra một số vấn đề phức tạp khác

Sau khi hoàn tất cấu hình Master, khởi động lại mysql

service mysqld restart

Slave master connection mới

mysql

server-id=15

Lúc này mới cần đến tệp và quyền sở hữu được lấy từ “hiển thị trạng thái chính;”

Khởi động Slave

server-id=16

View status Slave

server-id=17

If as Slave_IO_Running and Slave_SQL_Running đều Yes hết là Slave đã kết nối và đang replica thành công nha các bạn

Cấu hình sao chép master-slave mongodb

Nếu như kết nối đến Master gặp sự cố, các bạn cần kiểm tra lại port mysql trên Master đã nghe hay chưa, iptables có chặn kết nối hay không. Kiểm tra tra soát xong ta chỉ cần khởi động lại Slave là được nhé

“Một số vấn đề khác mình hẹn trong Phần 3 (nếu có) để giải thích hết bộ rối rắm về sự lựa chọn file và vị trí, sự khác nhau giữa log_bin và relay-log (ở đây mình không có viết sai đâu, log_bin . Cũng giống như chỉ sao chép một vài cơ sở dữ liệu thôi chứ không phải toàn bộ cơ sở dữ liệu theo hướng dẫn trên. Hoặc sao chép toàn bộ nhưng trừ một số cơ sở dữ liệu nào đó. ”