Đây là lệnh mysqlreplicate có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
mysqlreplicate - Thiết lập và bắt đầu sao chép giữa hai máy chủ
SYNOPSIS
sao chép mysql [lựa chọn]
MÔ TẢ
Tiện ích này cho phép quản trị viên bắt đầu sao chép từ một máy chủ (máy chủ) đến
khác (nô lệ). Người dùng cung cấp thông tin đăng nhập cho nô lệ và kết nối
thông tin để kết nối với tổng thể. Cũng có thể chỉ định một cơ sở dữ liệu là
được sử dụng để thử nghiệm sao chép.
Tiện ích báo cáo các điều kiện nơi các công cụ lưu trữ trên master và slave
khác nhau. Nó cũng báo cáo một cảnh báo nếu công cụ lưu trữ InnoDB khác trên bản chính và
nô lệ. Để InnoDB giống nhau, cả hai máy chủ phải chạy cùng một “loại” InnoDB
(tích hợp sẵn hoặc Plugin InnoDB) và InnoDB trên cả hai máy chủ phải có cùng một chính và
số phiên bản nhỏ và trạng thái được kích hoạt.
Theo mặc định, tiện ích đưa ra cảnh báo về sự không khớp giữa các bộ lưu trữ
công cụ, công cụ lưu trữ mặc định và công cụ lưu trữ InnoDB. Để tạo ra lỗi
thay vào đó, hãy sử dụng --có tính mô phạm tùy chọn này yêu cầu các công cụ lưu trữ phải giống nhau trên
chủ và nô lệ.
Sản phẩm -vv tùy chọn hiển thị bất kỳ sự khác biệt nào giữa công cụ lưu trữ và giá trị InnoDB,
có hoặc không có --có tính mô phạm tùy chọn.
Có thể bắt đầu nhân rộng bằng một trong các chiến lược sau.
· Bắt đầu từ vị trí hiện tại (mặc định)
Bắt đầu sao chép từ tệp nhật ký nhị phân chính hiện tại và vị trí. Các tiện ích
sử dụng HIỂN THỊ MASTER TÌNH TRẠNG tuyên bố để lấy thông tin này.
· Bắt đầu từ đầu
Bắt đầu sao chép từ sự kiện đầu tiên được ghi lại trong nhật ký nhị phân chính. Để làm điều này,
sử dụng - bắt đầu lại từ đầu tùy chọn.
· Bắt đầu từ tệp nhật ký nhị phân
Bắt đầu sao chép từ sự kiện đầu tiên trong một tệp nhật ký nhị phân chính cụ thể. Làm
cái này, sử dụng --master-log-tệp tùy chọn.
· Bắt đầu từ một sự kiện cụ thể
Bắt đầu sao chép từ các tọa độ sự kiện cụ thể (tệp nhật ký nhị phân cụ thể và
Chức vụ). Để làm điều này, hãy sử dụng --master-log-tệp và --master-log-pos tùy chọn.
LỰA CHỌN
sao chép mysql chấp nhận các tùy chọn dòng lệnh sau:
· --Cứu giúp
Hiển thị thông báo trợ giúp và thoát.
· --Master =
Thông tin kết nối cho máy chủ chính ở định dạng:
<người sử dụng> [:passwd>] @chủ nhà> [:cổng>] [:ổ cắm>] hoặcđường dẫn đăng nhập> [:cổng>] [:ổ cắm>].
· --Master-log-file =
Bắt đầu sao chép từ đầu tệp nhật ký chính này.
· --Master-log-pos =
Bắt đầu sao chép từ vị trí này trong tệp nhật ký chính. Tùy chọn này không hợp lệ
trừ khi --master-log-tệp được đưa ra.
· --Pedantic, -p
Không thành công nếu cả hai máy chủ không có cùng bộ công cụ lưu trữ, mặc định giống nhau
công cụ lưu trữ và cùng một công cụ lưu trữ InnoDB.
· --Rpl-user =
Người dùng và mật khẩu cho người dùng sao chép, ở định dạng:người sử dụng> [:mật khẩu>] hoặc
<đường dẫn đăng nhập>. Giá trị mặc định là rpl: rpl.
· --Slave =
Thông tin kết nối cho máy chủ phụ ở định dạng:
<người sử dụng> [:passwd>] @chủ nhà> [:cổng>] [:ổ cắm>] hoặcđường dẫn đăng nhập> [:cổng>] [:ổ cắm>].
· - bắt đầu từ đầu, -b
Bắt đầu sao chép khi bắt đầu các sự kiện được ghi trong nhật ký nhị phân chính. Cái này
tùy chọn không hợp lệ trừ khi cả hai --master-log-tệp và --master-log-pos được tặng.
· --Test-db =
Tên cơ sở dữ liệu để sử dụng để kiểm tra thiết lập sao chép. Nếu tùy chọn này không
đưa ra, không có thử nghiệm nào được thực hiện, chỉ kiểm tra lỗi.
· --Verbose, -v
Chỉ định lượng thông tin cần hiển thị. Sử dụng tùy chọn này nhiều lần để tăng
lượng thông tin. Ví dụ, -v = dài dòng, -vv = chi tiết hơn, -vvv =
gỡ lỗi.
· --phiên bản
thông tin phiên bản màn hình và thoát.
GHI CHÚ
Người dùng đăng nhập cho máy chủ chính phải có quyền thích hợp để cấp quyền truy cập
cho tất cả cơ sở dữ liệu và khả năng tạo tài khoản người dùng. Ví dụ: tài khoản người dùng
được sử dụng để kết nối với tổng thể phải có CÙNG VỚI BAN CHO TÙY CHỌN đặc ân.
Các ID máy chủ trên cái chính và máy chủ phải khác không và là duy nhất. Tiện ích báo cáo một
lỗi nếu ID máy chủ là 0 trên một trong hai máy chủ hoặc giống nhau trên máy chủ và máy chủ. Bộ
các giá trị này trước khi bắt đầu tiện ích này.
Kết hợp IP và tên máy chủ không được khuyến khích. Các tiện ích nhân rộng cụ thể sẽ
cố gắng so sánh tên máy chủ và địa chỉ IP làm bí danh để kiểm tra kết nối máy chủ
cho chủ. Tuy nhiên, nếu cài đặt của bạn không hỗ trợ tra cứu tên ngược,
so sánh có thể không thành công. Nếu không có khả năng thực hiện tra cứu tên ngược, bản sao
các tiện ích có thể báo cáo âm tính giả rằng máy chủ (không) được kết nối với máy chủ.
Ví dụ: nếu bạn thiết lập sao chép bằng MASTER_HOST = ubuntu.net trên nô lệ trở lên
kết nối với nô lệ bằng mysqlrplcheck và có chủ được chỉ định là
--master = 192.168.0.6 sử dụng địa chỉ IP hợp lệ cho ubuntu.net, bạn phải có khả năng
thực hiện tra cứu tên ngược để so sánh IP (192.168.0.6) và tên máy chủ (ubuntu.net)
để xác định xem chúng có phải là cùng một máy hay không.
Đường dẫn đến các công cụ máy khách MySQL phải được bao gồm trong biến môi trường PATH trong
để sử dụng cơ chế xác thực với đường dẫn đăng nhập. Điều này sẽ cho phép tiện ích
sử dụng công cụ my_print_defaults được yêu cầu để đọc các giá trị đường dẫn đăng nhập từ
tệp cấu hình đăng nhập (.mylogin.cnf).
VÍ DỤ
Để thiết lập sao chép giữa hai phiên bản MySQL chạy trên các cổng khác nhau của cùng một
lưu trữ bằng cách sử dụng cài đặt mặc định, sử dụng lệnh này:
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# ...xong.
Lệnh sau sử dụng --có tính mô phạm để đảm bảo sao chép giữa bản chính và
nô lệ thành công nếu và chỉ khi cả hai máy chủ đều có sẵn các công cụ lưu trữ giống nhau,
cùng một công cụ lưu trữ mặc định và cùng một công cụ lưu trữ InnoDB:
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl -vv --pedantic
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# id chính = 2
# id nô lệ = 99
# Kiểm tra số liệu thống kê InnoDB để tìm xung đột về loại và phiên bản.
# Kiểm tra công cụ lưu trữ ...
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# Xả bảng trên trang chủ với khóa đọc ...
# Kết nối nô lệ với chủ ...
# THAY ĐỔI MASTER TO MASTER_HOST = [... đã bỏ qua ...]
# Đang bắt đầu nô lệ ...
# trạng thái: Đang chờ chủ nhân gửi sự kiện
# lỗi: 0:
# Mở khóa bảng trên chính ...
# ...xong.
Lệnh sau bắt đầu sao chép từ vị trí hiện tại của cái chính (đó là
mặc định):
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# ...xong.
Lệnh sau bắt đầu sao chép từ đầu các sự kiện được ghi lại trên
bậc thầy:
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl \
- bắt đầu lại từ đầu
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# ...xong.
Lệnh sau bắt đầu sao chép từ đầu của một nhị phân chính cụ thể
tệp nhật ký:
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl \
--master-log-file = my_log.000003
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# ...xong.
Lệnh sau bắt đầu sao chép từ tọa độ nhật ký nhị phân chính cụ thể
(tệp nhật ký cụ thể và vị trí):
$ mysqlreplicate --master = root @ localhost: 3306 \
--slave = root @ localhost: 3307 --rpl-user = rpl: rpl \
--master-log-file = my_log.000001 --master-log-pos = 96
# master trên localhost: ... đã kết nối.
# nô lệ trên localhost: ... đã kết nối.
# Kiểm tra đăng nhập nhị phân trên trang cái ...
# Thiết lập nhân rộng ...
# ...xong.
KHUYẾN NGHỊ
Bạn nên đặt read_only = 1 trong tệp my.cnf cho nô lệ để đảm bảo rằng không có sự cố
thay đổi dữ liệu, chẳng hạn như CHÈN, DELETE, CẬP NHẬT, v.v., được phép trên nô lệ
khác với những thứ được tạo ra bởi các sự kiện được đọc từ tổng thể.
Sử dụng --có tính mô phạm và -vv các tùy chọn để thiết lập sao chép trên máy chủ sản xuất để
tránh các vấn đề có thể xảy ra với các công cụ lưu trữ khác nhau.
BẢN QUYỀN
Sử dụng mysqlreplicate trực tuyến bằng các dịch vụ onworks.net