Mysql: Master-Slave Replication | CentOS 7
Mục lục:
- Điều kiện tiên quyết
- Cài đặt MySQL
- 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 cho phép bạn tự động sao chép dữ liệu từ một máy chủ cơ sở dữ liệu sang một hoặc nhiều máy chủ.
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ẽ giải thích cách thiết lập bản sao MySQL Master / Slave với một máy chủ chính và một máy chủ nô lệ trên CentOS 7. Các bước tương tự áp dụng cho MariaDB.
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
Trong ví dụ này, chúng tôi giả định rằng bạn có hai máy chủ đang chạy CentOS 7, có thể 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 cung cấp địa chỉ IP riêng, bạn có thể sử dụng đị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ủ trong ví dụ này có các IP sau:
Master IP: 192.168.121.59 Slave IP: 192.168.121.14
Cài đặt MySQL
Mặc định Các kho lưu trữ CentOS 7 không bao gồm các gói MySQL nên chúng tôi sẽ cài đặt MySQL từ Kho lưu trữ Yum chính thức của chúng. Để tránh mọi sự cố, chúng tôi sẽ cài đặt cùng một phiên bản MySQL 5.7 trên cả hai máy chủ.
Cài đặt MySQL trên cả máy chủ Master và Slave:
sudo yum localinstall
sudo yum install mysql-community-server
sudo yum localinstall
sudo yum install mysql-community-server
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ MySQL và cho phép nó tự động khởi động khi khởi động với:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Khi máy chủ MySQL khởi động lần đầu tiên, mật khẩu tạm thời được tạo cho người dùng root MySQL. Để tìm mật khẩu, sử dụng lệnh grep sau:
sudo grep 'temporary password' /var/log/mysqld.log
Chạy lệnh
mysql_secure_installation
để đặt mật khẩu gốc mới của bạn và cải thiện tính bảo mật của phiên bản MySQL:
mysql_secure_installation
Nhập mật khẩu gốc tạm thời và trả lời
Y
(có) cho tất cả các câu hỏi.
Cấu hình máy chủ chính
Đầu tiên, chúng tôi sẽ cấu hình máy chủ MySQL chính và thực hiện các thay đổi sau:
- Đặt máy chủ MySQL để nghe trên IP riêng. Đặt ID máy chủ duy nhất. Có thể ghi nhật ký nhị phân.
Để làm như vậy, hãy mở tệp cấu hình MySQL và thêm các dòng sau vào phần
phần:
sudo nano /etc/my.cnf
thạc sĩ: /etc/my.cnf
bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin
Sau khi hoàn tất, hãy khởi động lại dịch vụ MySQL để các thay đổi có hiệu lực
sudo systemctl restart mysqld
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ủ MySQL với tư cách là người dùng root:
mysql -uroot -p
Từ bên trong lời nhắc của MySQL, hãy chạy các truy vấn SQL sau đây sẽ tạo người dùng
replica
và cấp đặc quyền
REPLICATION SLAVE
cho người dùng:
CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14';
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: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
Lưu ý tên tệp, 'mysql-bin.000001' và Vị trí '1427'. Bạn sẽ cần những giá trị này khi cấu hình máy chủ nô lệ. Những giá trị này có thể sẽ khác nhau trên máy chủ của bạn.
Cấu hình máy chủ nô lệ
Giống như đối với máy chủ chính ở trên, chúng tôi sẽ thực hiện các thay đổi sau đối với máy chủ nô lệ:
- Đặt máy chủ MySQL để nghe trên IPSet riêng một máy chủ duy nhất có thể ghi nhật ký nhị phân
Mở tệp cấu hình MySQL và chỉnh sửa các dòng sau:
sudo nano /etc/my.cnf
nô lệ: /etc/my.cnf
bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin
Khởi động lại dịch vụ MySQL:
sudo systemctl restart mysqld
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ỏ MySQL:
mysql -uroot -p
Đầu tiên, dừng các chủ đề nô lệ:
STOP SLAVE;
Chạy truy vấn sau đây sẽ thiết lập nô lệ để sao chép chủ:
CHANGE MASTER TO
MASTER_HOST='192.168.121.59',
MASTER_USER='replica',
MASTER_PASSWORD='strong_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1427;
Đả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ứ hoạt động như mong đợi, chúng tôi sẽ tạo cơ sở dữ liệu mới trên máy chủ chính:
mysql -uroot -p
CREATE DATABASE replicatest;
Đăng nhập vào shell MySQL nô lệ:
mysql -uroot -p
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 MySQL Master / Slave trên CentOS 7.
Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.
centos mysql mariadbSony 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".
Cách cấu hình mysql master
Sao chép MySQL là một quá trình cho phép dữ liệu từ một máy chủ cơ sở dữ liệu được tự động sao chép vào một hoặc nhiều máy chủ. Hướng dẫn này bao gồm một ví dụ cơ bản về sao chép MySQL Master / Slave với một máy chủ chính và một máy chủ nô lệ trên Ubuntu 18.04.







