Master to Master replication for MariaDB
Mục lục:
- Điều kiện tiên quyết
- Cài đặt MariaDB
- Định cấu hình Máy chủ chính
- Cấu hình máy chủ nô lệ
- Kiểm tra cấu hình
- Phần kết luận
Sao chép MySQL là một quá trình sao chép dữ liệu từ một máy chủ cơ sở dữ liệu (chủ) sang một hoặc nhiều máy chủ (nô lệ).
MySQL hỗ trợ một số cấu trúc liên kết sao chép với cấu trúc liên kết Master / Slave là một trong những cấu trúc liên kết nổi tiếng nhất trong đó một máy chủ cơ sở dữ liệu đóng vai trò là chủ, trong khi một hoặc nhiều máy chủ đóng vai trò là nô lệ. Theo mặc định, bản sao không đồng bộ trong đó chủ gửi các sự kiện mô tả sửa đổi cơ sở dữ liệu tới nhật ký nhị phân của nó và nô lệ yêu cầu các sự kiện khi chúng sẵn sàng.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách thiết lập sao chép MariaDB Master / Slave với một máy chủ chính và một máy chủ nô lệ trên Debian 10. MariaDB là cài đặt mặc định của MySQL trong Debian. Các bước tương tự áp dụng cho Oracle MySQL.
Kiểu cấu trúc liên kết sao chép này phù hợp nhất để triển khai các bản sao đọc để nhân rộng đọc, sao lưu cơ sở dữ liệu trực tiếp để khắc phục thảm họa và cho các công việc phân tích.
Điều kiện tiên quyết
Chúng tôi giả định rằng bạn có hai máy chủ chạy Debian 10, liên lạc với nhau qua mạng riêng. Nếu nhà cung cấp dịch vụ lưu trữ của bạn không hỗ trợ các địa chỉ IP riêng, bạn có thể sử dụng các địa chỉ IP công cộng và định cấu hình tường lửa của mình để chỉ cho phép lưu lượng truy cập trên cổng 3306 từ các nguồn đáng tin cậy.
Các máy chủ được sử dụng trong ví dụ này có các địa chỉ IP sau:
Master IP: 10.10.8.12 Slave IP: 10.10.8.164
Cài đặt MariaDB
Mặc định Các kho lưu trữ Debian 10 bao gồm MariaDB phiên bản 10.3. Tốt nhất là cài đặt cùng một phiên bản MariaDB trên cả hai máy chủ để tránh mọi sự cố tiềm ẩn.
Cài đặt MariaDB trên cả chủ và nô lệ bằng cách ban hành các lệnh sau:
sudo apt-get update
sudo apt-get install mariadb-server
Định cấu hình Máy chủ chính
Bước đầu tiên là thiết lập máy chủ chính. Chúng tôi sẽ thực hiện các thay đổi sau:
- Đặt máy chủ MariaDB để nghe trên IP riêng. Đặt một ID máy chủ duy nhất. Ghi nhật ký nhị phân có thể thực hiện được.
Mở tệp cấu hình MariaDB và bỏ ghi chú hoặc đặt các dòng sau:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
chủ: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
Sau khi hoàn tất, hãy lưu tệp và khởi động lại dịch vụ MySQL để các thay đổi có hiệu lực:
sudo systemctl restart mariadb
Bước tiếp theo là tạo một người dùng nhân rộng mới. Đăng nhập vào máy chủ MariaDB với tư cách là người dùng root:
sudo mysql
Chạy các truy vấn SQL sau để tạo
replica
có tên người dùng và cấp đặc quyền
REPLICATION SLAVE
cho người dùng:
CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';
Hãy chắc chắn rằng bạn thay đổi IP bằng địa chỉ IP nô lệ của bạn. Bạn có thể đặt tên người dùng như bạn muốn.
Trong khi vẫn ở trong dấu nhắc MySQL, hãy thực hiện lệnh sau sẽ in tên tệp và vị trí nhị phân.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)
Lưu ý tên tệp, 'mysql-bin.000001' và Vị trí '328'. Các giá trị này là cần thiết khi định cấu hình máy chủ nô lệ và có thể sẽ khác trên máy chủ của bạn.
Cấu hình máy chủ nô lệ
Chúng tôi sẽ thực hiện các thay đổi tương tự trên máy chủ nô lệ như trên máy chủ:
- Đặt máy chủ MySQL để nghe trên IP riêng. Đặt một ID máy chủ duy nhất. Ghi nhật ký nhị phân có thể thực hiện được.
Mở tệp cấu hình MariaDB và chỉnh sửa các dòng sau:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
nô lệ: /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
Khởi động lại dịch vụ MariaDB:
sudo systemctl restart mariadb
Bước tiếp theo là cấu hình các tham số mà máy chủ nô lệ sẽ sử dụng để kết nối với máy chủ chính. Đăng nhập vào vỏ MariaDB:
sudo mysql
Bắt đầu bằng cách dừng các chủ đề nô lệ:
STOP SLAVE;
Chạy truy vấn sau để định cấu hình sao chép Master / Slave:
CHANGE MASTER TO
MASTER_HOST='10.10.8.12',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=328;
Đảm bảo bạn đang sử dụng đúng địa chỉ IP, tên người dùng và mật khẩu. Tên và vị trí tệp nhật ký phải giống với các giá trị bạn nhận được từ máy chủ chính.
Sau khi hoàn thành, bắt đầu các chủ đề nô lệ.
Kiểm tra cấu hình
Tại thời điểm này, bạn nên có một thiết lập sao chép Master / Slave hoạt động.
Để xác minh rằng mọi thứ được thiết lập chính xác, hãy tạo cơ sở dữ liệu mới trên máy chủ chính:
sudo mysql
CREATE DATABASE replicatest;
Đăng nhập vào shell MySQL nô lệ:
sudo mysql
Chạy lệnh sau để liệt kê tất cả các cơ sở dữ liệu:
SHOW DATABASES;
Bạn sẽ nhận thấy rằng cơ sở dữ liệu bạn đã tạo trên máy chủ chính được sao chép trên Slave:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
Phần kết luận
Trong hướng dẫn này, chúng tôi đã chỉ cho bạn tạo bản sao MariaDB Master / Slave trên Debian 10.
Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.
mysian mariadbKhoảng 40 phần trăm doanh thu của Sun đến từ các công ty ở Mỹ. Michael Lehman, giám đốc tài chính của Sun cho biết: "Các khách hàng chủ yếu là trong ngành viễn thông, dịch vụ tài chính và các cơ quan chính phủ, tất cả đều bị ảnh hưởng bởi những khó khăn tài chính hiện tại. Bộ trưởng Tài chính Mỹ Henry M. Paulson thông báo các gói cứu trợ của các tổ chức tài chính sẽ ảnh hưởng đến nhu cầu về các sản phẩm công nghệ thông tin. Theo ông Lehman, "thay vì 100 triệu USD sản phẩm, Schwartz hy
Sun vẫn đang giảm số lượng nhân viên và sẽ giảm xuống còn 33.000 công nhân vào cuối năm tài chính 2009.
Sony nên tính phí cho PlayStation Network hiện tại của mình không? Đó là câu hỏi mà dường như yêu cầu bằng một kiểu phờ phờn, dự đoán, giả định vì không hoàn toàn rõ ràng và có thể hơi nhầm lẫn vì nó sẽ làm tăng các mô hình doanh thu của Sony. Tại sao? Tôi đoán bởi vì một công ty có danh mục đầu tư tài chính phức tạp như nhu cầu của Sony về đầu tư tài chính chung từ đám đông. Câu trả lời là không, tất nhiên, Sony không cần bắt đầu tính phí cho PSN, hoặc, miễn là chúng tôi làm cho tương tự như ch
Bao giờ
Với phần mềm miễn phí này, bạn có thể tùy chỉnh hình nền trên nhiều màn hình với hình ảnh từ PC hoặc từ Flickr. DisplayFusion giúp bạn dễ dàng tùy chỉnh hình nền máy tính của mình bằng hình ảnh của riêng bạn. Chọn ảnh từ ổ cứng của bạn hoặc kéo chúng xuống từ Flickr với freebie này. Bạn có thể tìm kiếm và xem trước các bức ảnh từ Flickr từ bên trong chương trình, và có nhiều lựa chọn tốt cho những người có nhiều màn hình.
Cửa sổ progam đơn giản hiển thị (các) màn hình của bạn ở phần trên cùng, và bạn có thể nhấp vào mỗi quay lại để chọn một hình ảnh cho màn hình đó, hoặc chọn để nền có cả hai màn hình. Bạn có thể duyệt ổ đĩa cứng của riêng mình để xem ảnh, nhưng thật thú vị khi nhấp vào nút "Nạp từ Flickr".







