Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Biểu tượng yêu thích OnWorks

pt-table-checksump - Trực tuyến trên đám mây

Chạy pt-table-checksump trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS

Đây là lệnh pt-table-checksump có thể 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


pt-table-checksum - Xác minh tính toàn vẹn của bản sao MySQL.

SYNOPSIS


Cách sử dụng: pt-table-checksum [OPTIONS] [DSN]

pt-table-checksum thực hiện kiểm tra tính nhất quán sao chép trực tuyến bằng cách thực thi checksum
các truy vấn trên bản chính, tạo ra các kết quả khác nhau trên các bản sao không nhất quán
với chủ. DSN tùy chọn chỉ định máy chủ chính. "EXIT STATUS" của công cụ là
khác XNUMX nếu tìm thấy bất kỳ sự khác biệt nào, hoặc nếu có bất kỳ cảnh báo hoặc lỗi nào xảy ra.

Lệnh sau sẽ kết nối với bản sao tổng thể trên localhost, tổng kiểm tra mọi
bảng và báo cáo kết quả trên mọi bản sao được phát hiện:

pt-bảng-tổng kiểm tra

Công cụ này tập trung vào việc tìm kiếm sự khác biệt dữ liệu một cách hiệu quả. Nếu bất kỳ dữ liệu nào khác,
bạn có thể giải quyết vấn đề với pt-table-sync.

RỦI RO


Bộ công cụ Percona đã hoàn thiện, được chứng minh trong thế giới thực và được thử nghiệm tốt, nhưng tất cả cơ sở dữ liệu
các công cụ có thể gây rủi ro cho hệ thống và máy chủ cơ sở dữ liệu. Trước khi sử dụng công cụ này,
xin vui lòng:

· Đọc tài liệu của công cụ

· Xem lại "BUGS" đã biết của công cụ

· Kiểm tra công cụ trên một máy chủ không sản xuất

· Sao lưu máy chủ sản xuất của bạn và xác minh các bản sao lưu

Xem thêm "GIỚI HẠN".

MÔ TẢ


pt-table-checksum được thiết kế để làm đúng theo mặc định trong hầu hết mọi trường hợp. Khi nào
nghi ngờ, hãy sử dụng "--explain" để xem công cụ sẽ kiểm tra tổng một bảng như thế nào. Sau đây là một
tổng quan cấp cao về cách thức hoạt động của công cụ.

Trái ngược với các phiên bản cũ hơn của pt-table-checksum, công cụ này tập trung vào một
mục đích và không có nhiều phức tạp hoặc hỗ trợ nhiều tổng kiểm tra khác nhau
kỹ thuật. Nó thực hiện các truy vấn tổng kiểm tra chỉ trên một máy chủ và các truy vấn này sẽ chạy qua
replication để thực thi lại trên các bản sao. Nếu bạn cần hành vi cũ hơn, bạn có thể sử dụng
Percona Toolkit phiên bản 1.0.

pt-table-checksum kết nối với máy chủ bạn chỉ định và tìm cơ sở dữ liệu và bảng
khớp với các bộ lọc bạn chỉ định (nếu có). Nó hoạt động một bảng tại một thời điểm, vì vậy nó không
tích lũy một lượng lớn bộ nhớ hoặc thực hiện nhiều công việc trước khi bắt đầu kiểm tra tổng. Cái này
làm cho nó có thể sử dụng được trên các máy chủ rất lớn. Chúng tôi đã sử dụng nó trên các máy chủ với hàng trăm
hàng nghìn cơ sở dữ liệu và bảng, và hàng nghìn tỷ hàng. Không có vấn đề bao nhiêu lớn máy chủ
là, pt-table-checksum hoạt động tốt như nhau.

Một lý do khiến nó có thể hoạt động trên các bảng rất lớn là nó chia mỗi bảng thành các phần
hàng và tổng kiểm tra từng đoạn bằng một truy vấn REPLACE..SELECT. Nó thay đổi đoạn
kích thước để thực hiện các truy vấn tổng kiểm tra trong khoảng thời gian mong muốn. Mục tiêu của chunking
các bảng, thay vì thực hiện mỗi bảng với một truy vấn lớn, là để đảm bảo rằng
tổng kiểm tra là không phổ biến và không gây ra quá nhiều độ trễ sao chép hoặc tải trên máy chủ.
Đó là lý do tại sao thời gian mục tiêu cho mỗi đoạn là 0.5 giây theo mặc định.

Công cụ theo dõi tốc độ máy chủ có thể thực thi các truy vấn và điều chỉnh
khi nó tìm hiểu thêm về hiệu suất của máy chủ. Nó sử dụng một cấp số nhân
giảm dần mức trung bình có trọng số để giữ cho kích thước phân đoạn ổn định, nhưng vẫn đáp ứng nếu
hiệu suất của máy chủ thay đổi trong quá trình tổng kiểm tra vì bất kỳ lý do gì. Điều này có nghĩa là công cụ
sẽ nhanh chóng tự điều chỉnh nếu máy chủ của bạn bị tải nặng trong thời gian lưu lượng truy cập tăng đột biến
hoặc một nhiệm vụ nền, chẳng hạn.

Chunking được thực hiện bằng một kỹ thuật mà chúng tôi thường gọi là "nibbling" trong các công cụ khác trong
Bộ công cụ Percona. Ví dụ, nó là kỹ thuật tương tự được sử dụng cho pt-archiver. Di sản
các thuật toán phân khúc được sử dụng trong các phiên bản cũ hơn của pt-table-checksum bị loại bỏ, vì chúng
không dẫn đến các khối có kích thước dự đoán được và không hoạt động tốt trên nhiều bảng. Tất cả
được yêu cầu để chia một bảng thành các phần là một chỉ mục của một số loại (tốt nhất là
khóa hoặc chỉ mục duy nhất). Nếu không có chỉ mục và bảng chứa một
số hàng, công cụ sẽ kiểm tra tổng bảng trong một đoạn duy nhất.

pt-table-checksum có nhiều biện pháp bảo vệ khác để đảm bảo rằng nó không can thiệp vào bất kỳ
hoạt động của máy chủ, bao gồm cả các bản sao. Để thực hiện điều này, pt-table-checksum phát hiện
bản sao và kết nối với chúng tự động. (Nếu điều này không thành công, bạn có thể cho nó một gợi ý với
tùy chọn "--recursion-method".)

Công cụ giám sát các bản sao liên tục. Nếu bất kỳ bản sao nào bị tụt lại quá xa so với
replication, pt-table-checksum tạm dừng để cho phép nó bắt kịp. Nếu bất kỳ bản sao nào có
lỗi, hoặc dừng sao chép, pt-table-checksum tạm dừng và chờ. Ngoài ra, pt-table-
tổng kiểm tra các nguyên nhân phổ biến của sự cố, chẳng hạn như bộ lọc sao chép và từ chối
hoạt động trừ khi bạn buộc nó phải. Bộ lọc sao chép rất nguy hiểm, vì các truy vấn
mà pt-table-checksum thực thi có thể xung đột với chúng và gây ra sao chép
thất bại.

pt-table-checksum xác minh rằng các khối không quá lớn để tổng kiểm tra một cách an toàn. Nó thực hiện
một truy vấn GIẢI THÍCH trên mỗi đoạn và bỏ qua các đoạn có thể lớn hơn mong muốn
số hàng. Bạn có thể định cấu hình độ nhạy của biện pháp bảo vệ này với
Tùy chọn "--chunk-size-limit". Nếu một bảng sẽ được tổng kiểm tra trong một đoạn duy nhất vì nó
có một số hàng nhỏ, sau đó pt-table-checksum xác minh thêm rằng bảng
không quá khổ so với bản sao. Điều này tránh trường hợp sau: một bảng trống trên
chính nhưng rất lớn trên một bản sao và được tổng kiểm tra trong một truy vấn lớn duy nhất,
gây ra sự chậm trễ rất lâu trong việc nhân rộng.

Có một số biện pháp bảo vệ khác. Ví dụ: pt-table-checksum đặt mức phiên của nó
innodb_lock_wait_timeout đến 1 giây, để nếu có khóa chờ, nó sẽ là
nạn nhân thay vì khiến các truy vấn khác hết thời gian chờ. Một biện pháp bảo vệ khác kiểm tra tải trên
máy chủ cơ sở dữ liệu và tạm dừng nếu tải quá cao. Không có câu trả lời đúng duy nhất
để biết cách thực hiện việc này, nhưng theo mặc định pt-table-checksum sẽ tạm dừng nếu có nhiều hơn 25
đồng thời thực hiện các truy vấn. Bạn có thể nên đặt một giá trị lành mạnh cho máy chủ của mình với
tùy chọn "- max-load".

Kiểm tra tổng hợp thường là một nhiệm vụ có mức độ ưu tiên thấp nên nhường cho các công việc khác trên máy chủ.
Tuy nhiên, một công cụ phải khởi động lại liên tục rất khó sử dụng. Do đó, pt-table-
tổng kiểm tra rất bền với các lỗi. Ví dụ: nếu người quản trị cơ sở dữ liệu cần
loại bỏ các truy vấn của pt-table-checksum vì bất kỳ lý do gì, đó không phải là một lỗi nghiêm trọng. Người dùng thường xuyên
chạy pt-kill để loại bỏ mọi truy vấn kiểm tra dài hạn. Công cụ sẽ thử lại một truy vấn đã hủy
một lần, và nếu nó không thành công một lần nữa, nó sẽ chuyển sang phần tiếp theo của bảng đó. Như nhau
hành vi áp dụng nếu có thời gian chờ khóa. Công cụ sẽ in cảnh báo nếu
một lỗi xảy ra, nhưng chỉ một lần cho mỗi bảng. Nếu kết nối với bất kỳ máy chủ nào không thành công, pt-
table-checksum sẽ cố gắng kết nối lại và tiếp tục hoạt động.

Nếu pt-table-checksum gặp một điều kiện khiến nó dừng hoàn toàn, thì rất dễ
để tiếp tục với tùy chọn "--resume". Nó sẽ bắt đầu từ đoạn cuối cùng của đoạn cuối cùng
bảng mà nó đã xử lý. Bạn cũng có thể dừng công cụ một cách an toàn bằng CTRL-C. Nó sẽ kết thúc
đoạn mà nó hiện đang xử lý, và sau đó thoát. Bạn có thể tiếp tục nó như bình thường
sau đó

Sau khi pt-table-checksum hoàn thành việc kiểm tra tổng tất cả các phần trong một bảng, nó sẽ tạm dừng và
đợi tất cả các bản sao được phát hiện để hoàn thành việc thực hiện các truy vấn tổng kiểm tra. Một khi đó là
xong, nó sẽ kiểm tra tất cả các bản sao để xem chúng có cùng dữ liệu với bản chính hay không,
và sau đó in ra một dòng kết quả. Bạn có thể xem một mẫu đầu ra của nó
sau trong tài liệu này.

Công cụ này in các chỉ số tiến độ trong các hoạt động tốn nhiều thời gian. Nó in một
chỉ báo tiến trình khi mỗi bảng được tổng kiểm tra. Tiến trình được tính toán bởi
số hàng ước tính trong bảng. Nó cũng sẽ in một báo cáo tiến độ khi nó tạm dừng
để đợi bản sao bắt kịp và khi chờ kiểm tra bản sao cho
khác biệt so với tổng thể. Bạn có thể làm cho đầu ra ít dài dòng hơn với "--quiet"
tùy chọn.

Nếu muốn, bạn có thể truy vấn các bảng tổng kiểm theo cách thủ công để nhận báo cáo về các bảng nào
và các khối có sự khác biệt so với tổng thể. Truy vấn sau sẽ báo cáo mọi
cơ sở dữ liệu và bảng có sự khác biệt, cùng với bản tóm tắt về số lượng các phần và hàng
có thể bị ảnh hưởng:

CHỌN db, tbl, SUM (this_cnt) AS total_rows, COUNT (*) AS khối
TỪ percona.checksums
Ở ĐÂU (
master_cnt <> this_cnt
HOẶC master_crc <> this_crc
OR BỎ QUA(master_crc) <> ISNULL (this_crc))
NHÓM THEO db, tbl;

Bảng được tham chiếu trong truy vấn đó là bảng tổng kiểm tra, nơi các tổng kiểm tra được lưu trữ.
Mỗi hàng trong bảng chứa tổng tổng của một đoạn dữ liệu từ một số bảng trong
máy chủ.

Phiên bản 2.0 của pt-table-checksum không tương thích ngược với phiên bản pt-table-sync
1.0. Trong một số trường hợp, đây không phải là một vấn đề nghiêm trọng. Thêm cột "ranh giới" vào
bảng, và sau đó cập nhật nó bằng mệnh đề WHERE được tạo thủ công, có thể đủ để cho phép pt-
table-sync phiên bản 1.0 tương thích với pt-table-checksum phiên bản 2.0. Giả sử một
khóa chính số nguyên có tên 'id', Bạn có thể thử như sau:

ALTER TABLE tổng kiểm tra ADD ranh giới VARCHAR(500);
CẬP NHẬT tổng kiểm tra
ĐẶT ranh giới = COALESCE (CONCAT ('id BETWEEN', Lower_boundary,
'AND', trên_boundary), '1 = 1');

GIỚI HẠN


Bản sao sử dụng sao chép dựa trên hàng
pt-table-checksum yêu cầu sao chép dựa trên câu lệnh và nó thiết lập
"binlog_format = STATEMENT" trên bản chính, nhưng do giới hạn MySQL bản sao không
tôn vinh sự thay đổi này. Do đó, tổng kiểm tra sẽ không sao chép trong quá khứ bất kỳ bản sao nào sử dụng
sao chép dựa trên hàng là bản chính cho các bản sao tiếp theo.

Công cụ tự động kiểm tra "binlog_format" trên tất cả các máy chủ. Nhìn thấy
"- [không] check-binlog-format".

(Lỗi 899415 )

Sự khác biệt giữa lược đồ và bảng
Công cụ này giả định rằng các lược đồ và bảng giống hệt nhau trên cái chính và tất cả
bản sao. Bản sao sẽ bị hỏng nếu, ví dụ, một bản sao không có lược đồ
tồn tại trên cái chính (và lược đồ đó được tổng kiểm tra) hoặc nếu cấu trúc của một
bảng trên bản sao khác với trên bản chính.

percona XtraDB cụm


pt-table-checksum hoạt động với Percona XtraDB Cluster (PXC) 5.5.28-23.7 và mới hơn. Các
số lượng thiết lập Percona XtraDB Cluster có thể có là lớn vì nó có thể được sử dụng với
nhân rộng thường xuyên. Do đó, chỉ những thiết lập được liệt kê bên dưới được hỗ trợ và
biết để làm việc. Các thiết lập khác, như cluster to cluster, không được hỗ trợ và có thể không
làm việc.

Ngoại trừ những trường hợp được lưu ý, tất cả các thiết lập được hỗ trợ sau đây đều yêu cầu bạn sử dụng "dsn"
phương thức cho "--recursion-method" để chỉ định các nút cụm. Ngoài ra, kiểm tra độ trễ (xem
"REPLICA CHECKS") không được thực hiện cho các nút cụm.

Cụm đơn
Thiết lập PXC đơn giản nhất là một cụm đơn: tất cả các máy chủ đều là các nút cụm và ở đó
không phải là bản sao thông thường. Nếu tất cả các nút được chỉ định trong bảng DSN (xem
"--recursion-method"), sau đó bạn có thể chạy công cụ trên bất kỳ nút nào và bất kỳ điểm khác biệt nào trên bất kỳ
các nút khác sẽ được phát hiện.

Tất cả các nút phải nằm trong cùng một cụm (có cùng giá trị "wsrep_cluster_name"), nếu không
công cụ thoát ra với một lỗi. Mặc dù có thể có các cụm khác nhau với
trùng tên, điều này không nên được thực hiện và không được hỗ trợ. Điều này áp dụng cho tất cả
các thiết lập được hỗ trợ.

Cụm đơn với các bản sao
Các nút cụm cũng có thể là các nút chính thông thường và sao chép thành các nút sao thông thường. Tuy vậy,
công cụ chỉ có thể phát hiện các khác biệt trên một bản sao nếu chạy trên "nút chính" của bản sao.
Ví dụ: nếu thiết lập cụm,

node1 <-> node2 <-> node3
| |
| + -> bản sao3
+ -> bản sao2

bạn có thể phát hiện các điểm khác biệt trên bản sao3 bằng cách chạy công cụ trên nút 3, nhưng để phát hiện các điểm khác biệt trên
replica2 bạn phải chạy lại công cụ trên node2. Nếu bạn chạy công cụ trên node1, nó sẽ
không phát hiện khác biệt trên một trong hai bản sao.

Hiện tại, công cụ không phát hiện ra thiết lập này hoặc cảnh báo về các bản sao không thể
đã kiểm tra (ví dụ: replica2 khi chạy trên node3).

Các bản sao trong thiết lập này vẫn phải tuân theo "- [no] check-binlog-format".

Chủ thành một cụm duy nhất
Một cái chính thông thường có thể sao chép thành một cụm, như thể cụm đó
một nô lệ hợp lý, như:

master -> node1 <-> node2 <-> node3

Công cụ hỗ trợ thiết lập này nhưng chỉ khi chạy trên cái chính và nếu tất cả các nút trong
cụm nhất quán với "bản sao trực tiếp" (nút1 trong ví dụ này) của
bậc thầy. Ví dụ: nếu tất cả các nút có giá trị "foo" cho hàng 1 nhưng nút chính có giá trị
"thanh" cho cùng một hàng, sự khác biệt này sẽ được phát hiện. Hoặc nếu chỉ có node1 có điểm khác biệt này,
nó cũng sẽ được phát hiện. Nhưng nếu chỉ có node2 hoặc node3 có sự khác biệt này, nó sẽ không
được phát hiện. Do đó, thiết lập này được sử dụng để kiểm tra xem cái chính và cụm như một
toàn bộ đều nhất quán.

Trong thiết lập này, công cụ có thể tự động phát hiện "bản sao trực tiếp" (node1) khi chạy
trên cái chính, vì vậy bạn không cần phải sử dụng phương thức "dsn" cho "--recursion-method"
bởi vì nút1 sẽ đại diện cho toàn bộ cụm, đó là lý do tại sao tất cả các nút khác phải
phù hợp với nó.

Công cụ cảnh báo khi phát hiện thiết lập này để nhắc bạn rằng nó chỉ hoạt động khi được sử dụng
như đã mô tả ở trên. Những cảnh báo này không ảnh hưởng đến trạng thái thoát của công cụ; họ
chỉ nhắc nhở để giúp tránh kết quả dương tính giả.

OUTPUT


Công cụ in kết quả dạng bảng, mỗi dòng một bảng:

TS LỖI DIFFS ROWS CHUNKS BẢNG THỜI GIAN ĐÃ BỎ QUA
10-20T08: 36: 50 0 0 200 1 0 0.005 db1.tbl1
10-20T08: 36: 50 0 0 603 7 0 0.035 db1.tbl2
10-20T08: 36: 50 0 0 16 1 0 0.003 db2.tbl3
10-20T08: 36: 50 0 0 600 6 0 0.024 db2.tbl4

Các lỗi, cảnh báo và báo cáo tiến độ được in theo lỗi chuẩn. Xem thêm "--quiet".

Kết quả của mỗi bảng được in ra khi công cụ hoàn thành việc kiểm tra tổng bảng. Các
các cột như sau:

TS Dấu thời gian (không có năm) khi công cụ hoàn thành việc kiểm tra tổng bảng.

LRI
Số lỗi và cảnh báo đã xảy ra trong khi kiểm tra tổng bảng. Lỗi
và các cảnh báo được in thành lỗi tiêu chuẩn trong khi bảng đang được xử lý.

KHÓ KHĂN
Số lượng các phần khác với bản gốc trên một hoặc nhiều bản sao. Nếu như
"--no-replicate-check" được chỉ định, cột này sẽ luôn có các số không. Nếu như
"--replicate-check-only" được chỉ định, sau đó chỉ các bảng có sự khác biệt mới được in.

ROWS
Số hàng được chọn và tổng kiểm tra từ bảng. Nó có thể khác
từ số hàng trong bảng nếu bạn sử dụng tùy chọn --where.

MIẾNG, MẢNH NHỎ
Số phần mà bảng đã được chia.

ĐÃ BỎ QUA
Số phần đã bị bỏ qua do một hoặc nhiều vấn đề sau:

* MySQL không sử dụng --chunk-index
* MySQL không sử dụng chỉ mục chunk đầy đủ (- [không] kế hoạch kiểm tra)
* Kích thước phân khúc lớn hơn --chunk-size * --chunk-size-limit
* Đã vượt quá thời gian chờ của khóa (- câu hỏi)
* Truy vấn Checksum bị giết (--retries)

Kể từ pt-table-checksum 2.2.5, các phần bị bỏ qua gây ra "EXIT STATUS" khác XNUMX.

THỜI GIAN
Thời gian đã trôi qua trong khi kiểm tra tổng bảng.

BẢNG
Cơ sở dữ liệu và bảng đã được tổng kiểm tra.

Nếu "--replicate-check-only" được chỉ định, thì chỉ các khác biệt tổng kiểm tra trên các bản sao được phát hiện
được in. Kết quả đầu ra là khác nhau: một đoạn trên mỗi bản sao, một chênh lệch tổng kiểm tra
mỗi dòng và các giá trị được phân tách bằng dấu cách:

Sự khác biệt trên h = 127.0.0.1, P = 12346
BẢNG CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY
db1.tbl1 1 0 1 CHÍNH 1 100
db1.tbl1 6 0 1 CHÍNH 501 600

Sự khác biệt trên h = 127.0.0.1, P = 12347
BẢNG CHUNK CNT_DIFF CRC_DIFF CHUNK_INDEX LOWER_BOUNDARY UPPER_BOUNDARY
db1.tbl1 1 0 1 CHÍNH 1 100
db2.tbl2 9 5 0 CHÍNH 101 200

Dòng đầu tiên của đoạn văn chỉ ra bản sao với những điểm khác biệt. Trong ví dụ này
có hai: h = 127.0.0.1, P = 12346 và h = 127.0.0.1, P = 12347. Các cột như sau:

BẢNG
Cơ sở dữ liệu và bảng khác với cái chính.

khúc
Số thứ tự của bảng khác với số thứ tự.

CNT_DIFF
Số lượng hàng phân đoạn trên bản sao trừ đi số lượng hàng phân đoạn trên bản chính.

CRC_DIFF
1 nếu CRC của đoạn trên bản sao khác với CRC của đoạn trên
chính, khác 0.

CHUNK_INDEX
Chỉ mục được sử dụng để phân đoạn bảng.

LOWER_BOUNDARY
Các giá trị chỉ mục xác định ranh giới dưới của đoạn.

UPPER_BOUNDARY
Các giá trị chỉ mục xác định ranh giới trên của đoạn.

EXIT TÌNH TRẠNG


pt-table-checksum có ba trạng thái thoát có thể xảy ra: không, 255 và bất kỳ giá trị nào khác là a
bitmask với cờ cho các vấn đề khác nhau.

Trạng thái không thoát cho thấy không có lỗi, cảnh báo hoặc sự khác biệt tổng kiểm tra hoặc bị bỏ qua
khối hoặc bảng.

Trạng thái thoát 255 chỉ ra một lỗi nghiêm trọng. Nói cách khác: công cụ bị chết hoặc bị rơi. Các
lỗi được in thành "STDERR".

Nếu trạng thái thoát không phải là 255 hoặc XNUMX, thì giá trị của nó có chức năng như một mặt nạ bit với các
cờ:

Ý NGHĨA GIÁ TRỊ CỜ BIT
========================================================== =================
LỖI 1 Đã xảy ra lỗi không nghiêm trọng
ALREADY_RUNNING 2 - tệp lipid tồn tại và PID đang chạy
CAUGHT_SIGNAL 4 Đã bắt được SIGHUP, SIGINT, SIGPIPE hoặc SIGTERM
NO_SLAVES_FOUND 8 Không tìm thấy bản sao hoặc nút cụm
TABLE_DIFF 16 Đã tìm thấy ít nhất một điểm khác biệt
SKIP_CHUNK 32 Ít nhất một đoạn đã bị bỏ qua
SKIP_TABLE 64 Ít nhất một bảng đã bị bỏ qua

Nếu bất kỳ cờ nào được đặt, trạng thái thoát sẽ khác không. Sử dụng thao tác bitwise "VÀ" để
kiểm tra một lá cờ cụ thể. Ví dụ: nếu "$ exit_status & 16" là true, thì ít nhất
một khác biệt đã được tìm thấy.

Kể từ pt-table-checksum 2.2.5, các phần bị bỏ qua gây ra trạng thái thoát khác không. Một lối ra
trạng thái bằng không hoặc 32 tương đương với trạng thái không thoát với các phần bị bỏ qua trước đó
các phiên bản của công cụ.

LỰA CHỌN


Công cụ này chấp nhận các đối số dòng lệnh bổ sung. Tham khảo "SYNOPSIS" và cách sử dụng
thông tin để biết chi tiết.

--hỏi-vượt qua
nhóm: Kết nối

Nhắc nhập mật khẩu khi kết nối với MySQL.

- [no] check-binlog-format
mặc định: có

Kiểm tra xem "binlog_format" có giống nhau trên tất cả các máy chủ hay không.

Xem "Bản sao sử dụng sao chép dựa trên hàng" trong "LIMITATIONS".

--chỉ số nhị phân
Tùy chọn này sửa đổi hành vi của "--create-replicate-table" sao cho
Các cột biên trên và biên dưới của bảng sao chép được tạo bằng dữ liệu BLOB
kiểu. Điều này rất hữu ích trong trường hợp bạn gặp sự cố khi kiểm tra bảng có khóa
bao gồm kiểu dữ liệu nhị phân hoặc có bộ ký tự không chuẩn. Nhìn thấy
"- trùng lặp".

- khoảng thời gian kiểm tra
loại: thời gian; mặc định: 1; nhóm: Throttle

Thời gian ngủ giữa các lần kiểm tra "--max-lag".

- [không] kế hoạch kiểm tra
mặc định: có

Kiểm tra các kế hoạch thực hiện truy vấn để đảm bảo an toàn. Theo mặc định, tùy chọn này gây ra pt-table-
tổng kiểm tra để chạy GIẢI THÍCH trước khi chạy các truy vấn nhằm truy cập một lượng nhỏ
dữ liệu, nhưng có thể truy cập nhiều hàng nếu MySQL chọn một kế hoạch thực thi sai. Này
bao gồm các truy vấn để xác định ranh giới phân đoạn và chính các truy vấn phân đoạn. Nếu như
có vẻ như MySQL sẽ sử dụng một kế hoạch thực thi truy vấn không hợp lệ, công cụ sẽ bỏ qua
khối của bảng.

Công cụ này sử dụng một số phương pháp heuristics để xác định xem liệu một kế hoạch thực thi có tệ hay không. Các
đầu tiên là liệu EXPLAIN có báo cáo rằng MySQL dự định sử dụng chỉ mục mong muốn để truy cập hay không
các hàng. Nếu MySQL chọn một chỉ mục khác, công cụ sẽ coi truy vấn không an toàn.

Công cụ này cũng kiểm tra lượng chỉ mục MySQL báo cáo rằng nó sẽ sử dụng cho
truy vấn. Đầu ra EXPLAIN hiển thị điều này trong cột key_len. Công cụ ghi nhớ
key_len lớn nhất được nhìn thấy và bỏ qua các phần mà MySQL báo cáo rằng nó sẽ sử dụng
tiền tố của chỉ mục. Heuristic này có thể được hiểu là các phần bỏ qua có
kế hoạch thực hiện tệ hơn các phần khác.

Công cụ in cảnh báo lần đầu tiên một đoạn bị bỏ qua do thực thi không tốt
kế hoạch trong mỗi bảng. Các phần tiếp theo được bỏ qua một cách âm thầm, mặc dù bạn có thể thấy
số lượng các phần bị bỏ qua trong cột SKIPPED trong đầu ra của công cụ.

Tùy chọn này thêm một số công việc thiết lập cho mỗi bảng và phân đoạn. Mặc dù công việc không
xâm nhập đối với MySQL, nó dẫn đến nhiều chuyến đi vòng đến máy chủ hơn, tiêu tốn
thời gian. Tạo các khối quá nhỏ sẽ khiến chi phí trở nên tương đối lớn hơn. Nó
do đó chúng tôi khuyến nghị rằng bạn không nên tạo các khối quá nhỏ, vì công cụ có thể mất
một thời gian rất dài để hoàn thành nếu bạn làm.

- [không] kiểm tra-sao chép-bộ lọc
mặc định: có; nhóm: An toàn

Không kiểm tra tổng nếu bất kỳ bộ lọc sao chép nào được đặt trên bất kỳ bản sao nào. Công cụ trông
cho các tùy chọn máy chủ lọc sao chép, chẳng hạn như binlog_ignore_db và
replicate_do_db. Nếu nó tìm thấy bất kỳ bộ lọc nào như vậy, nó sẽ hủy bỏ do lỗi.

Nếu các bản sao được định cấu hình với bất kỳ tùy chọn lọc nào, bạn nên cẩn thận không
để kiểm tra bất kỳ cơ sở dữ liệu hoặc bảng nào tồn tại trên bản chính chứ không phải bản sao.
Các thay đổi đối với các bảng như vậy thường có thể bị bỏ qua trên các bản sao vì
tùy chọn lọc, nhưng các truy vấn tổng kiểm tra sửa đổi nội dung của bảng
lưu trữ tổng kiểm tra, không lưu trữ các bảng có dữ liệu mà bạn đang tổng kiểm tra. Vì vậy,
các truy vấn này sẽ được thực thi trên bản sao và nếu bảng hoặc cơ sở dữ liệu bạn
tổng kiểm tra không tồn tại, các truy vấn sẽ gây ra sự sao chép không thành công. Để biết thêm
thông tin về các quy tắc sao chép, xem
<http://dev.mysql.com/doc/en/replication-rules.html>.

Lọc sao chép khiến không thể chắc chắn rằng các truy vấn tổng kiểm tra sẽ không
phá vỡ sao chép (hoặc đơn giản là không thể tái tạo). Nếu bạn chắc chắn rằng có thể chạy
các truy vấn tổng kiểm tra, bạn có thể phủ nhận tùy chọn này để tắt kiểm tra. Xem thêm
"--replicate-database".

Xem thêm "REPLICA CHECKS".

--check-nô lệ-lag
type: string; nhóm: Throttle

Tạm dừng tổng kiểm tra cho đến khi độ trễ của bản sao này nhỏ hơn "- max-lag". Giá trị là một
DSN kế thừa các thuộc tính từ máy chủ chính và các tùy chọn kết nối
("--port", "--user", v.v.). Theo mặc định, pt-table-checksum giám sát độ trễ trên tất cả
các bản sao được kết nối, nhưng tùy chọn này giới hạn việc giám sát độ trễ đối với bản sao được chỉ định.
Điều này rất hữu ích nếu một số bản sao nhất định bị trễ cố ý (với pt-slave-delay for
ví dụ), trong trường hợp đó bạn có thể chỉ định một bản sao bình thường để theo dõi.

Xem thêm "REPLICA CHECKS".

- [no] check-slave-table
mặc định: có; nhóm: An toàn

Kiểm tra xem các bảng trên nô lệ có tồn tại hay không và có tất cả các tổng kiểm tra "--columns". Những cái bàn
thiếu nô lệ hoặc không có tất cả tổng kiểm tra "--columns" có thể khiến công cụ
phá vỡ sao chép khi nó cố gắng kiểm tra sự khác biệt. Chỉ vô hiệu hóa kiểm tra này nếu
bạn nhận thức được những rủi ro và chắc chắn rằng tất cả các bảng trên tất cả các nô lệ đều tồn tại và
giống hệt chủ nhân.

--chunk-index
loại: chuỗi

Ưu tiên chỉ số này cho các bảng phân khúc. Theo mặc định, pt-table-checksum chọn nhiều nhất
chỉ số thích hợp để phân khúc. Tùy chọn này cho phép bạn chỉ định chỉ mục mà bạn
thích hơn. Nếu chỉ mục không tồn tại, thì pt-table-checksum sẽ trở lại
hành vi mặc định của việc chọn một chỉ mục. pt-table-checksum thêm chỉ mục vào
checksum câu lệnh SQL trong mệnh đề "FORCE INDEX". Hãy cẩn thận khi sử dụng tùy chọn này;
lựa chọn chỉ mục không tốt có thể gây ra hiệu suất kém. Điều này có lẽ là tốt nhất để sử dụng khi
bạn chỉ tổng kiểm tra một bảng, không phải toàn bộ máy chủ.

--chunk-index-cột
kiểu: int

Chỉ sử dụng nhiều cột ngoài cùng bên trái này của "--chunk-index". Điều này chỉ hoạt động cho
chỉ mục phức hợp và hữu ích trong trường hợp có lỗi trong trình tối ưu hóa truy vấn MySQL
(planner) khiến nó quét một loạt các hàng thay vì sử dụng chỉ mục để định vị
điểm bắt đầu và điểm kết thúc một cách chính xác. Sự cố này đôi khi xảy ra trên các chỉ mục có
nhiều cột, chẳng hạn như 4 hoặc nhiều hơn. Nếu điều này xảy ra, công cụ có thể in cảnh báo
liên quan đến tùy chọn "- [không] kế hoạch kiểm tra". Hướng dẫn công cụ chỉ sử dụng công cụ đầu tiên
N cột của chỉ mục là một giải pháp thay thế cho lỗi trong một số trường hợp.

--kích thước chunk
Loại kích thước; mặc định: 1000

Số hàng để chọn cho mỗi truy vấn tổng kiểm tra. Các hậu tố được phép là k, M, G.
Bạn không nên sử dụng tùy chọn này trong hầu hết các trường hợp; thay vào đó thích "--chunk-time".

Tùy chọn này có thể ghi đè hành vi mặc định, đó là điều chỉnh kích thước chunk
động để cố gắng làm cho các phần chạy chính xác trong giây "--chunk-time". Khi này
tùy chọn không được đặt rõ ràng, giá trị mặc định của nó được sử dụng làm điểm bắt đầu, nhưng sau
điều đó, công cụ bỏ qua giá trị của tùy chọn này. Nếu bạn đặt tùy chọn này một cách rõ ràng,
tuy nhiên, sau đó nó vô hiệu hóa hành vi điều chỉnh động và cố gắng tạo ra tất cả các phần
chính xác số hàng được chỉ định.

Có một điều tinh tế: nếu chỉ số chunk không phải là duy nhất, thì có thể là chunks
sẽ lớn hơn mong muốn. Ví dụ: nếu một bảng được phân chia bởi một chỉ mục
chứa 10,000 giá trị đã cho, không có cách nào để viết mệnh đề WHERE phù hợp
chỉ 1,000 trong số các giá trị và đoạn đó sẽ lớn ít nhất 10,000 hàng. Như một
chunk có thể sẽ bị bỏ qua vì "--chunk-size-limit".

Việc chọn kích thước đoạn nhỏ sẽ khiến công cụ trở nên chậm hơn nhiều, một phần
vì công việc thiết lập bắt buộc đối với "- [no] check-plan".

--chunk-kích thước-giới hạn
loại: float; mặc định: 2.0; nhóm: An toàn

Đừng kiểm tra khối này lớn hơn nhiều so với kích thước khối mong muốn.

Khi một bảng không có chỉ mục duy nhất, kích thước phân đoạn có thể không chính xác. Tùy chọn này
chỉ định giới hạn tối đa có thể chấp nhận được đối với độ không chính xác. Công cụ sử dụng đến
ước tính có bao nhiêu hàng trong đoạn. Nếu ước tính đó vượt quá đoạn mong muốn
kích thước nhân với giới hạn (lớn gấp đôi, theo mặc định), sau đó công cụ bỏ qua đoạn.

Giá trị tối thiểu cho tùy chọn này là 1, có nghĩa là không có đoạn nào có thể lớn hơn
"--chunk-size". Bạn có thể không muốn chỉ định 1, bởi vì các hàng được báo cáo bởi
GIẢI THÍCH là các ước tính, có thể khác với số hàng thực trong
khúc gỗ. Nếu công cụ bỏ qua quá nhiều khối vì chúng quá khổ, bạn có thể muốn
để chỉ định giá trị lớn hơn giá trị mặc định là 2.

Bạn có thể tắt tính năng kiểm tra phân đoạn quá khổ bằng cách chỉ định giá trị 0.

--chunk-thời gian
loại: float; mặc định: 0.5

Điều chỉnh động kích thước chunk để mỗi truy vấn tổng kiểm mất nhiều thời gian để thực thi.

Công cụ theo dõi tốc độ tổng kiểm tra (hàng trên giây) cho tất cả các bảng và mỗi bảng
riêng lẻ. Nó sử dụng các tỷ lệ này để điều chỉnh kích thước phân đoạn sau mỗi truy vấn tổng kiểm tra,
để truy vấn tổng kiểm tra tiếp theo mất khoảng thời gian này (tính bằng giây) để thực thi.

Thuật toán như sau: ở đầu mỗi bảng, kích thước chunk là
được khởi tạo từ các hàng trung bình tổng thể mỗi giây kể từ khi công cụ bắt đầu hoạt động, hoặc
giá trị của "--chunk-size" nếu công cụ chưa bắt đầu hoạt động. Cho mỗi
phần tiếp theo của bảng, công cụ điều chỉnh kích thước phần để cố gắng thực hiện các truy vấn
chạy trong khoảng thời gian mong muốn. Nó giữ một đường trung bình động giảm dần theo cấp số nhân
truy vấn mỗi giây, để nếu hiệu suất của máy chủ thay đổi do những thay đổi trong
tải máy chủ, công cụ thích ứng nhanh chóng. Điều này cho phép công cụ đạt được
các truy vấn định thời cho từng bảng và cho toàn bộ máy chủ.

Nếu tùy chọn này được đặt thành XNUMX, kích thước phân đoạn không tự động điều chỉnh, vì vậy tổng kiểm tra truy vấn
thời gian sẽ khác nhau, nhưng kích thước tổng kiểm tra truy vấn sẽ không. Một cách khác để làm điều tương tự
là chỉ định một giá trị cho "--chunk-size" một cách rõ ràng, thay vì để nó ở
mặc định.

--cột
dạng rút gọn: -c; kiểu: mảng; nhóm: Bộ lọc

Chỉ kiểm tra danh sách các cột được phân tách bằng dấu phẩy này. Nếu một bảng không có bất kỳ
các cột được chỉ định nó sẽ bị bỏ qua.

Tùy chọn này áp dụng cho tất cả các bảng, vì vậy nó chỉ thực sự có ý nghĩa khi tổng kiểm tra một
bảng trừ khi các bảng có một tập hợp cột chung.

--config
kiểu: Mảng; nhóm: Cấu hình

Đọc danh sách các tệp cấu hình được phân tách bằng dấu phẩy này; nếu được chỉ định, đây phải là lần đầu tiên
tùy chọn trên dòng lệnh.

Xem đầu ra "--help" để biết danh sách các tệp cấu hình mặc định.

- [no] create-replicate-table
mặc định: có

Tạo cơ sở dữ liệu và bảng "--replicate" nếu chúng không tồn tại. Cấu trúc của
bảng tái tạo giống như bảng được đề xuất được đề cập trong "--replicate".

--cơ sở dữ liệu
dạng rút gọn: -d; gõ: băm; nhóm: Bộ lọc

Chỉ tổng kiểm tra danh sách cơ sở dữ liệu được phân tách bằng dấu phẩy này.

--cơ sở dữ liệu-regex
type: string; nhóm: Bộ lọc

Chỉ cơ sở dữ liệu tổng kiểm tra có tên khớp với regex Perl này.

--defaults-file
dạng rút gọn: -F; type: string; nhóm: Kết nối

Chỉ đọc các tùy chọn mysql từ tệp đã cho. Bạn phải cung cấp một tên đường dẫn tuyệt đối.

- [no] blank-replicate-table
mặc định: có

Xóa tổng kiểm tra trước đó cho mỗi bảng trước khi tổng kiểm tra bảng. Tùy chọn này
không cắt bớt toàn bộ bảng, nó chỉ xóa các hàng (tổng kiểm tra) cho mỗi bảng
ngay trước khi kiểm tra bảng. Do đó, nếu tổng kiểm tra dừng sớm và
đã có dữ liệu tồn tại trước đó, vẫn sẽ có hàng cho các bảng không có
tổng kiểm tra trước khi dừng công cụ.

Nếu bạn đang tiếp tục từ lần chạy tổng kiểm tra trước đó, thì tổng kiểm tra sẽ ghi lại
bảng mà từ đó công cụ tiếp tục sẽ không bị trống.

Để làm trống toàn bộ bảng sao chép, bạn phải thực hiện thủ công "BẢNG TRUNCATE" trước
chạy công cụ.

--động cơ
dạng rút gọn: -e; gõ: băm; nhóm: Bộ lọc

Chỉ các bảng tổng kiểm tra sử dụng các công cụ lưu trữ này.

--giải thích
tích lũy: có; mặc định: 0; nhóm: Đầu ra

Hiển thị, nhưng không thực thi, các truy vấn tổng kiểm tra (vô hiệu hóa "- [no] blank-replicate-table").
Nếu được chỉ định hai lần, công cụ thực sự lặp lại thông qua thuật toán phân khúc,
in các giá trị biên trên và biên dưới cho từng đoạn, nhưng không thực thi
truy vấn tổng kiểm tra.

--float-chính xác
kiểu: int

Độ chính xác cho chuyển đổi số thành chuỗi FLOAT và DOUBLE. Gây ra FLOAT và DOUBLE
các giá trị được làm tròn đến số chữ số được chỉ định sau dấu thập phân, với
các VÒNG() trong MySQL. Điều này có thể giúp tránh sai lệch tổng kiểm tra do
các biểu diễn dấu phẩy động khác nhau của các giá trị giống nhau trên các MySQL khác nhau
phiên bản và phần cứng. Mặc định là không làm tròn; các giá trị được chuyển đổi thành
chuỗi bởi CONCAT () và MySQL chọn biểu diễn chuỗi. nếu bạn
chỉ định giá trị là 2, chẳng hạn, sau đó các giá trị 1.008 và 1.009 sẽ được làm tròn thành
1.01, và tổng tổng sẽ bằng nhau.

--hàm số
loại: chuỗi

Hàm băm cho tổng kiểm tra (FNV1A_64, MURMUR_HASH, SHA1, MD5, CRC32, v.v.).

Mặc định là sử dụng CRC32 (), Nhưng MD5 ()SHA1 () cũng hoạt động và bạn có thể sử dụng
chức năng riêng, chẳng hạn như UDF đã biên dịch, nếu bạn muốn. Chức năng bạn chỉ định được chạy trong
SQL, không có trong Perl, vì vậy nó phải có sẵn cho MySQL.

MySQL không có các hàm băm tích hợp sẵn có tốc độ nhanh. CRC32 () quá dễ bị
để băm xung đột và MD5 ()SHA1 () rất nhiều CPU. Các FNV1A_64 () UDF
được phân phối với Máy chủ Percona là một giải pháp thay thế nhanh hơn. Nó rất đơn giản để
biên dịch và cài đặt; nhìn vào tiêu đề trong mã nguồn để biết hướng dẫn. Nếu nó là
được cài đặt, nó được ưu tiên hơn MD5 (). Bạn cũng có thể sử dụng MURMUR_HASH () chức năng nếu
bạn biên dịch và cài đặt nó dưới dạng UDF; nguồn cũng được phân phối với Percona
Máy chủ và nó có thể tốt hơn FNV1A_64 ().

--Cứu giúp
nhóm: Giúp đỡ

Hiển thị trợ giúp và thoát.

--tổ chức
dạng rút gọn: -h; type: string; mặc định: localhost; nhóm: Kết nối

Máy chủ lưu trữ để kết nối.

--ignore-cột
loại: Băm; nhóm: Bộ lọc

Bỏ qua danh sách các cột được phân tách bằng dấu phẩy này khi tính tổng tổng. Nếu một bảng
có tất cả các cột của nó được lọc bởi --ignore-column, nó sẽ bị bỏ qua.

--ignore-cơ sở dữ liệu
loại: Băm; nhóm: Bộ lọc

Bỏ qua danh sách cơ sở dữ liệu được phân tách bằng dấu phẩy này.

--ignore-cơ sở dữ liệu-regex
type: string; nhóm: Bộ lọc

Bỏ qua cơ sở dữ liệu có tên khớp với Perl regex này.

- động cơ lớn
loại: Băm; mặc định: FEDERATED, MRG_MyISAM; nhóm: Bộ lọc

Bỏ qua danh sách công cụ lưu trữ được phân tách bằng dấu phẩy này.

- bảng lớn
loại: Băm; nhóm: Bộ lọc

Bỏ qua danh sách bảng được phân tách bằng dấu phẩy này. Tên bảng có thể đủ tiêu chuẩn với
tên cơ sở dữ liệu. Bảng "--replicate" luôn tự động bị bỏ qua.

--ignore-table-regex
type: string; nhóm: Bộ lọc

Bỏ qua các bảng có tên khớp với Perl regex.

- max-lag
loại: thời gian; mặc định: 1s; nhóm: Throttle

Tạm dừng tổng kiểm tra cho đến khi độ trễ của tất cả các bản sao nhỏ hơn giá trị này. Sau mỗi cái
truy vấn tổng kiểm tra (từng đoạn), pt-table-checksum xem xét độ trễ sao chép của tất cả
bản sao mà nó kết nối, sử dụng Seconds_Behind_Master. Nếu bất kỳ bản sao nào bị trễ
nhiều hơn giá trị của tùy chọn này, thì pt-table-checksum sẽ ngủ đối với
"--khoảng thời gian kiểm tra" giây, sau đó kiểm tra lại tất cả các bản sao. Nếu bạn chỉ định
"--check-slave-lag", khi đó công cụ chỉ kiểm tra máy chủ đó xem có bị lag, không phải tất cả các máy chủ.

Công cụ chờ đợi mãi mãi cho các bản sao ngừng tụt hậu. Nếu bất kỳ bản sao nào bị dừng,
công cụ đợi mãi mãi cho đến khi bản sao được bắt đầu. Kiểm tra tiếp tục khi tất cả
bản sao đang chạy và không bị trễ quá nhiều.

Công cụ in báo cáo tiến độ trong khi chờ đợi. Nếu một bản sao bị dừng, nó sẽ in
báo cáo tiến độ ngay lập tức, sau đó lặp lại ở mỗi khoảng thời gian báo cáo tiến độ.

Xem thêm "REPLICA CHECKS".

- tải tối đa
kiểu: Mảng; default: Threads_running = 25; nhóm: Throttle

Kiểm tra HIỂN THỊ TRẠNG THÁI TOÀN CẦU sau mỗi đoạn và tạm dừng nếu có bất kỳ biến trạng thái nào
cao hơn ngưỡng. Tùy chọn chấp nhận danh sách trạng thái MySQL được phân tách bằng dấu phẩy
các biến để kiểm tra một ngưỡng. Tùy chọn "= MAX_VALUE" (hoặc ": MAX_VALUE") có thể
theo từng biến. Nếu không được đưa ra, công cụ xác định ngưỡng bằng cách kiểm tra
giá trị hiện tại và tăng 20%.

Ví dụ: nếu bạn muốn công cụ tạm dừng khi Threads_connected quá cao, bạn
có thể chỉ định "Threads_connected" và công cụ sẽ kiểm tra giá trị hiện tại khi nó
bắt đầu hoạt động và thêm 20% vào giá trị đó. Nếu giá trị hiện tại là 100, thì công cụ
sẽ tạm dừng khi Threads_connected vượt quá 120 và tiếp tục hoạt động khi dưới 120
lần nữa. Nếu bạn muốn chỉ định một ngưỡng rõ ràng, chẳng hạn như 110, bạn có thể sử dụng
"Threads_connected: 110" hoặc "Threads_connected = 110".

Mục đích của tùy chọn này là để ngăn công cụ thêm quá nhiều tải vào
người phục vụ. Nếu các truy vấn tổng kiểm tra là xâm nhập hoặc nếu chúng gây ra các đợt chờ khóa, thì các truy vấn khác
các truy vấn trên máy chủ sẽ có xu hướng chặn và xếp hàng. Điều này thường sẽ gây ra
Threads_running để tăng và công cụ có thể phát hiện điều đó bằng cách chạy SHOW GLOBAL
TRẠNG THÁI ngay sau khi mỗi truy vấn tổng kiểm tra kết thúc. Nếu bạn chỉ định một ngưỡng cho
biến này, sau đó bạn có thể hướng dẫn công cụ đợi cho đến khi các truy vấn đang chạy
bình thường trở lại. Tuy nhiên, điều này sẽ không ngăn cản việc xếp hàng; nó sẽ chỉ cung cấp cho máy chủ
một cơ hội để phục hồi sau khi xếp hàng. Nếu bạn nhận thấy xếp hàng, tốt nhất là giảm
thời gian chunk.

--mật khẩu mở khóa
dạng rút gọn: -p; type: string; nhóm: Kết nối

Mật khẩu sử dụng khi kết nối. Nếu mật khẩu chứa dấu phẩy thì chúng phải được thoát
có dấu gạch chéo ngược: "exam \, ple"

- lipid
loại: chuỗi

Tạo tệp PID đã cho. Công cụ sẽ không khởi động nếu tệp PID đã tồn tại và
PID mà nó chứa khác với PID hiện tại. Tuy nhiên, nếu tệp PID
tồn tại và PID mà nó chứa không còn chạy nữa, công cụ sẽ ghi đè lên PID
tệp với PID hiện tại. Tệp PID sẽ tự động bị xóa khi công cụ thoát.

--cắm vào
loại: chuỗi

Tệp mô-đun Perl xác định lớp "pt_table_checksum_plugin". Một plugin cho phép bạn
để viết một mô-đun Perl có thể nối vào nhiều phần của pt-table-checksum. Cái này
yêu cầu kiến ​​thức tốt về các quy ước của Bộ công cụ Perl và Percona, những quy ước này vượt ra ngoài
phạm vi của tài liệu này. Vui lòng liên hệ với Percona nếu bạn có thắc mắc hoặc
cần giúp đỡ.

Xem "PLUGIN" để biết thêm thông tin.

--Hải cảng
dạng viết tắt: -P; kiểu: int; nhóm: Kết nối

Số cổng sử dụng để kết nối.

--phát triển
kiểu: mảng; mặc định: thời gian, 30

In báo cáo tiến độ lên STDERR.

Giá trị là một danh sách được phân tách bằng dấu phẩy gồm hai phần. Phần đầu tiên có thể là tỷ lệ phần trăm,
thời gian, hoặc các lần lặp lại; phần thứ hai chỉ định tần suất một bản cập nhật sẽ được in,
tính bằng phần trăm, giây hoặc số lần lặp lại. Công cụ này in các báo cáo tiến độ cho
một loạt các hoạt động tốn thời gian, bao gồm cả việc chờ đợi các bản sao để bắt kịp nếu
chúng trở nên tụt hậu.

--Yên lặng
dạng rút gọn: -q; tích lũy: có; mặc định: 0

Chỉ in thông tin quan trọng nhất (tắt "--progress"). Chỉ định điều này
tùy chọn một khi khiến công cụ chỉ in các lỗi, cảnh báo và bảng có
sự khác biệt tổng kiểm tra.

Việc chỉ định tùy chọn này hai lần khiến công cụ chỉ in ra lỗi. Trong trường hợp này, bạn
có thể sử dụng trạng thái thoát của công cụ để xác định xem có bất kỳ cảnh báo hoặc tổng kiểm tra nào không
sự khác biệt

--recurse
kiểu: int

Số cấp độ cần đệ quy trong hệ thống phân cấp khi phát hiện ra các bản sao. Mặc định là
vô hạn. Xem thêm "--recursion-method" và "REPLICA CHECKS".

--recursion-phương pháp
kiểu: mảng; default: danh sách xử lý, máy chủ

Phương pháp đệ quy ưu tiên để khám phá các bản sao. pt-table-checksum thực hiện
một số "REPLICA CHECKS" trước và trong khi chạy.

Mặc dù các bản sao không bắt buộc phải chạy pt-table-checksum, nhưng công cụ này không thể phát hiện
khác trên nô lệ mà nó không thể phát hiện ra. Do đó, một cảnh báo được in ra và
"EXIT STATUS" là khác XNUMX nếu không tìm thấy bản sao nào và phương thức không phải là "không có". Nếu như
điều này xảy ra, hãy thử một phương pháp đệ quy khác hoặc sử dụng phương thức "dsn" để chỉ định
bản sao để kiểm tra.

Các phương pháp có thể là:

PHƯƠNG PHÁP SỬ DỤNG
======================================================= ======
danh sách xử lý HIỂN THỊ DANH SÁCH TIẾN TRÌNH
máy chủ HIỂN THỊ TRANG TRÌNH BÀY CHẬM
cụm HIỂN THỊ TÌNH TRẠNG NHƯ 'wsrep \ _incoming \ _addresses'
dsn = DSN DSN từ một bảng
không Không tìm thấy nô lệ

Phương thức "processlist" là phương thức mặc định, vì "SHOW SLAVE HOSTS" không đáng tin cậy.
Tuy nhiên, nếu máy chủ sử dụng cổng không chuẩn (không phải là 3306), thì phương thức "máy chủ"
trở thành mặc định vì nó hoạt động tốt hơn trong trường hợp này.

Phương thức "hosts" yêu cầu các bản sao phải được định cấu hình với "report_host",
"report_port", v.v.

Phương pháp "cụm" yêu cầu một cụm dựa trên Galera 23.7.3 hoặc mới hơn, chẳng hạn như
Percona XtraDB Cluster phiên bản 5.5.29 trở lên. Điều này sẽ tự động phát hiện các nút trong
cụm sử dụng "HIỂN THỊ TÌNH TRẠNG THÍCH 'wsrep \ _incoming \ _addresses'". Bạn có thể kết hợp
"cụm" với "danh sách xử lý" và "máy chủ" để tự động phát hiện các nút cụm và bản sao,
nhưng chức năng này là thử nghiệm.

Phương thức "dsn" đặc biệt: thay vì tự động phát hiện các bản sao, phương thức này
phương thức chỉ định một bảng với các DSN bản sao. Công cụ sẽ chỉ kết nối với những
bản sao. Phương pháp này hoạt động tốt nhất khi các bản sao không sử dụng cùng tên người dùng MySQL hoặc
mật khẩu chính hoặc khi bạn muốn ngăn công cụ kết nối với
bản sao nhất định. Phương thức "dsn" được chỉ định như: "--recursion-method
dsn = h = host, D = percona, t = dsns ". DSN được chỉ định phải có các phần D và t, hoặc chỉ một
phần t đủ điều kiện cơ sở dữ liệu, chỉ định bảng DSN. Bảng DSN phải có
cấu trúc sau:

TẠO BẢNG `dsns` (
`id` int(11) KHÔNG TỰ ĐỘNG ĐẦY ĐỦ,
`id_cha` int(11) NULL MẶC ĐỊNH,
`dsn` vecni(255) KHÔNG ĐẦY ĐỦ,
KHÓA CHÍNH (`id`)
);

DSN được sắp xếp theo "id", nhưng "id" và "parent_id" bị bỏ qua. "Dsn"
cột chứa một DSN bản sao giống như nó sẽ được cung cấp trên dòng lệnh, ví dụ:
"h = replica_host, u = repl_user, p = repl_pass".

Phương pháp "none" làm cho công cụ bỏ qua tất cả các nô lệ và các nút cụm. Phương pháp này là
không được khuyến nghị vì nó vô hiệu hóa hiệu quả "REPLICA CHECKS" và không
sự khác biệt có thể được tìm thấy. Tuy nhiên, nó rất hữu ích nếu bạn chỉ cần viết tổng kiểm tra
trên nút chính hoặc một nút cụm duy nhất. Sự thay thế an toàn hơn là
"--no-replicate-check": công cụ tìm các bản sao và các nút cụm, thực hiện
"REPLICA CHECKS", nhưng không kiểm tra sự khác biệt. Xem "- [không] kiểm tra lặp lại".

- mô tả
type: string; mặc định: percona.checksums

Viết kết quả tổng kiểm tra vào bảng này. Bảng sao chép phải có cấu trúc này
(MAGIC_create_replicate):

TẠO BẢNG tổng kiểm tra (
db XE TĂNG(64) KHÔNG ĐẦY ĐỦ,
tbl XE TĂNG(64) KHÔNG ĐẦY ĐỦ,
đoạn INT NOT NULL,
chunk_time FLOAT NULL,
chunk_index VARCHAR(200) KHÔNG ĐỦ,
Lower_boundary TEXT NULL,
upper_boundary VĂN BẢN NULL,
cái này_crc XE TĂNG(40) KHÔNG ĐẦY ĐỦ,
this_cnt INT KHÔNG NULL,
master_crc XE TĂNG(40) KHÔNG ĐỦ,
master_cnt INT NULL,
ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ONDATE CURRENT_TIMESTAMP,
TỪ KHÓA CHÍNH (db, tbl, chunk),
CHỈ SỐ ts_db_tbl (ts, db, tbl)
) ENGINE = InnoDB;

Lưu ý: kiểu dữ liệu under_boundary và upper_boundary có thể là BLOB. Xem "--binary-index".

Theo mặc định, "- [no] create-replicate-table" là true, do đó, cơ sở dữ liệu và bảng
được chỉ định bởi tùy chọn này được tạo tự động nếu chúng không tồn tại.

Đảm bảo chọn một công cụ lưu trữ thích hợp cho bảng sao chép. Nếu bạn là
kiểm tra tổng hợp các bảng InnoDB và bạn sử dụng MyISAM cho bảng này, một bế tắc sẽ phá vỡ
sao chép, bởi vì hỗn hợp các bảng giao dịch và không giao dịch trong
các câu lệnh tổng kiểm tra sẽ khiến nó được ghi vào binlog mặc dù nó có
lỗi. Sau đó, nó sẽ phát lại mà không có bế tắc trên các bản sao và phá vỡ bản sao
với "lỗi khác nhau trên chủ và nô lệ." Đây không phải là vấn đề với pt-table-
tổng kiểm tra; đó là vấn đề với sao chép MySQL và bạn có thể đọc thêm về nó trong
Hướng dẫn sử dụng MySQL.

Bảng sao chép không bao giờ được kiểm tra tổng (công cụ tự động thêm bảng này vào
"--ignore-table").

- [không] kiểm tra lặp lại
mặc định: có

Kiểm tra các bản sao để tìm sự khác biệt về dữ liệu sau khi kết thúc mỗi bảng. Công cụ tìm thấy
sự khác biệt bằng cách thực hiện một câu lệnh SELECT đơn giản trên tất cả các bản sao được phát hiện. Các
truy vấn so sánh kết quả tổng kiểm tra của bản sao với kết quả tổng kiểm tra tổng thể. Nó
báo cáo sự khác biệt trong cột DIFFS của đầu ra.

- chỉ kiểm tra trùng lặp
Kiểm tra các bản sao để đảm bảo tính nhất quán mà không cần thực hiện các truy vấn tổng kiểm tra. Tùy chọn này là
chỉ được sử dụng với "- [no] replicate-check". Nếu được chỉ định, pt-table-checksum không
tổng kiểm tra bất kỳ bảng nào. Nó kiểm tra các bản sao để tìm các điểm khác biệt được tìm thấy trước đó
tổng kiểm tra, và sau đó thoát. Nó có thể hữu ích nếu bạn chạy pt-table-checksum một cách lặng lẽ
trong một công việc cron chẳng hạn, và sau đó muốn có một báo cáo về kết quả của công việc đó,
có lẽ để thực hiện kiểm tra Nagios.

--replicate-check-thử lại
kiểu: int; mặc định: 1

Thử lại so sánh tổng kiểm tra này nhiều lần khi gặp sự khác biệt. Chỉ khi
sự khác biệt vẫn tồn tại sau khi số lần kiểm tra này được coi là hợp lệ. Sử dụng cái này
tùy chọn có giá trị từ 2 trở lên làm giảm bớt sự khác biệt giả phát sinh khi sử dụng
tùy chọn --resume.

--replicate-cơ sở dữ liệu
loại: chuỗi

Chỉ sử dụng cơ sở dữ liệu này. Theo mặc định, pt-table-checksum thực thi USE để chọn
cơ sở dữ liệu có chứa bảng mà nó hiện đang làm việc. Đây là một nỗ lực tốt nhất
để tránh sự cố với các bộ lọc sao chép như binlog_ignore_db và
replicate_ignore_db. Tuy nhiên, bộ lọc sao chép có thể tạo ra một tình huống mà ở đó
đơn giản là không có một cách nào đúng để làm mọi việc. Một số câu lệnh có thể không được lặp lại và
những người khác có thể gây ra sự sao chép không thành công. Trong những trường hợp như vậy, bạn có thể sử dụng tùy chọn này để
chỉ định một cơ sở dữ liệu mặc định mà pt-table-checksum chọn với USE và không bao giờ thay đổi.
Xem thêm "- [no] séc-sao chép-bộ lọc".

--bản tóm tắt
Tiếp tục tổng kiểm tra từ đoạn hoàn thành cuối cùng (vô hiệu hóa
"- [không] trống-tái tạo-bảng"). Nếu công cụ dừng trước khi nó kiểm tra tổng tất cả các bảng,
tùy chọn này làm cho việc kiểm tra tổng tiếp tục từ phần cuối cùng của bảng cuối cùng mà nó
đã kết thúc.

--thử lại
kiểu: int; mặc định: 2

Thử lại một đoạn này nhiều lần khi có lỗi không phải chất béo. Lỗi không béo là
các vấn đề chẳng hạn như thời gian chờ khóa hoặc truy vấn bị giết.

--thời gian chạy
loại: thời gian

Chạy trong bao lâu. Mặc định là chạy cho đến khi tất cả các bảng đã được tổng kiểm tra. Này
Cho phép các hậu tố giá trị thời gian: s (giây), m (phút), h (giờ) và d (ngày).
Kết hợp tùy chọn này với "--resume" để tổng kiểm tra nhiều bảng trong một phân bổ
thời gian, tiếp tục từ vị trí công cụ đã dừng vào lần chạy tiếp theo.

- bộ phân tách
type: string; vỡ nợ: #

Ký tự phân tách được sử dụng cho CONCAT_WS (). Nhân vật này được sử dụng để tham gia
giá trị của các cột khi tổng kiểm tra.

--set-vars
kiểu: Mảng; nhóm: Kết nối

Đặt các biến MySQL trong danh sách các cặp "biến = giá trị" được phân tách bằng dấu phẩy này.

Theo mặc định, công cụ đặt:

wait_timeout = 10000
innodb_lock_wait_timeout = 1

Các biến được chỉ định trên dòng lệnh sẽ ghi đè các giá trị mặc định này. Ví dụ,
chỉ định "--set-vars wait_timeout = 500" ghi đè giá trị mặc định là 10000.

Công cụ sẽ in một cảnh báo và tiếp tục nếu một biến không thể được thiết lập.

--ổ cắm
các hình thức ngắn; type: string; nhóm: Kết nối

Tập tin ổ cắm để sử dụng cho kết nối.

--những cái bàn
dạng rút gọn: -t; gõ: băm; nhóm: Bộ lọc

Chỉ kiểm tra danh sách bảng được phân tách bằng dấu phẩy này. Tên bảng có thể đủ điều kiện với
tên cơ sở dữ liệu.

--tables-regex
type: string; nhóm: Bộ lọc

Checksum chỉ các bảng có tên khớp với Perl regex này.

--cắt
Thêm TRIM () thành cột VARCHAR (hữu ích khi so sánh 4.1 với> = 5.0). Cái này hữu ích
khi bạn không quan tâm đến sự khác biệt về khoảng trắng giữa các phiên bản MySQL
khác nhau trong việc xử lý các khoảng trống ở cuối. MySQL 5.0 trở lên đều giữ nguyên
khoảng trắng trong VARCHAR, trong khi các phiên bản trước sẽ xóa chúng. Những khác biệt này sẽ
gây ra sự khác biệt tổng kiểm tra sai.

--người sử dụng
dạng rút gọn: -u; type: string; nhóm: Kết nối

Người dùng để đăng nhập nếu không phải là người dùng hiện tại.

--phiên bản
nhóm: Giúp đỡ

Hiển thị phiên bản và thoát.

- [không] kiểm tra phiên bản
mặc định: có

Kiểm tra phiên bản mới nhất của Bộ công cụ Percona, MySQL và các chương trình khác.

Đây là tính năng "tự động kiểm tra các bản cập nhật" tiêu chuẩn, với hai tính năng bổ sung
Tính năng, đặc điểm. Đầu tiên, công cụ kiểm tra phiên bản của các chương trình khác trên hệ thống cục bộ trong
bổ sung cho phiên bản riêng của nó. Ví dụ: nó kiểm tra phiên bản của mọi máy chủ MySQL
nó kết nối với, Perl và mô-đun Perl DBD :: mysql. Thứ hai, nó kiểm tra và cảnh báo
về các phiên bản có sự cố đã biết. Ví dụ: MySQL 5.5.25 có một lỗi nghiêm trọng và
đã được phát hành lại dưới dạng 5.5.25a.

Mọi cập nhật hoặc sự cố đã biết đều được in ra STDOUT trước khi xuất ra bình thường của công cụ.
Tính năng này không bao giờ được can thiệp vào hoạt động bình thường của công cụ.

Để biết thêm thông tin, hãy truy cập .

--ở đâu
loại: chuỗi

Chỉ thực hiện các hàng phù hợp với mệnh đề WHERE này. Bạn có thể sử dụng tùy chọn này để giới hạn
tổng kiểm tra chỉ một phần của bảng. Điều này đặc biệt hữu ích nếu bạn có append-
chỉ các bảng và không muốn liên tục kiểm tra lại tất cả các hàng; bạn có thể điều hành một công việc hàng ngày
để chỉ kiểm tra các hàng của ngày hôm qua, chẳng hạn.

Tùy chọn này giống như tùy chọn -w để mysqldump. Không chỉ định WHERE
từ khóa. Bạn có thể cần phải trích dẫn giá trị. Đây là một ví dụ:

pt-table-checksum --where "ts> CURRENT_DATE - INTERVAL 1 DAY"

BẢN SAO SÉC


Theo mặc định, pt-table-checksum cố gắng tìm và kết nối với tất cả các bản sao được kết nối với
người chủ trì. Quá trình tự động này được gọi là "đệ quy nô lệ" và được điều khiển bởi
các tùy chọn "--recursion-method" và "--recurse". Công cụ thực hiện các kiểm tra này trên tất cả
bản sao:

1. "- [không] bộ lọc kiểm tra-sao chép"
pt-table-checksum kiểm tra các bộ lọc sao chép trên tất cả các bản sao vì chúng có thể
làm phức tạp hoặc phá vỡ quá trình tổng kiểm tra. Theo mặc định, công cụ sẽ thoát nếu có
bộ lọc sao chép được tìm thấy, nhưng kiểm tra này có thể bị vô hiệu hóa bằng cách chỉ định
"--no-check-replication-filter".

2. Bảng "--replicate"
pt-table-checksum kiểm tra xem bảng "--replicate" có tồn tại trên tất cả các bản sao hay không, nếu không
tổng kiểm tra có thể phá vỡ bản sao khi các bản cập nhật cho bảng trên bản sao chính
đến một bản sao không có bảng. Không thể tắt kiểm tra này và công cụ
đợi mãi cho đến khi bảng tồn tại trên tất cả các bản sao, in thông báo "--progress"
trong khi nó chờ đợi.

3. Kích thước một đoạn
Nếu một bảng có thể được tổng kiểm tra trong một đoạn duy nhất trên tổng thể, pt-table-checksum sẽ
kiểm tra xem kích thước bảng trên tất cả các bản sao có nhỏ hơn "--chunk-size" * không
"--chunk-size-limit". Điều này ngăn chặn sự cố hiếm gặp trong đó bảng trên trang cái
trống hoặc nhỏ, nhưng trên một bản sao thì lớn hơn nhiều. Trong trường hợp này, đoạn đơn
tổng kiểm tra trên tổng thể sẽ làm quá tải bản sao.

Một vấn đề hiếm gặp khác xảy ra khi kích thước bảng trên bản sao gần bằng
"--chunk-size" * "--chunk-size-limit". Trong những trường hợp như vậy, bảng có nhiều khả năng
đã bỏ qua mặc dù nó an toàn để tổng kiểm tra trong một đoạn duy nhất. Điều này xảy ra bởi vì
kích thước bảng là ước tính. Khi những ước tính đó và "--chunk-size" *
"--chunk-size-limit" gần như bằng nhau, việc kiểm tra này trở nên nhạy cảm hơn với
ước tính 'biên độ sai số hơn là sự khác biệt đáng kể thực tế về kích thước bảng.
Việc chỉ định giá trị lớn hơn cho "--chunk-size-limit" giúp tránh vấn đề này.

Kiểm tra này không thể bị vô hiệu hóa.

4. Trễ
Sau mỗi đoạn, pt-table-checksum kiểm tra độ trễ trên tất cả các bản sao hoặc chỉ
bản sao được chỉ định bởi "--check-slave-lag". Điều này giúp công cụ không bị quá tải
bản sao với dữ liệu tổng kiểm tra. Không có cách nào để tắt kiểm tra này, nhưng bạn có thể
chỉ định một bản sao để kiểm tra bằng "--check-slave-lag" và nếu bản sao đó là
nhanh nhất, nó sẽ giúp ngăn công cụ chờ đợi quá lâu để giảm độ trễ của bản sao.

5. Checksum khối
Khi pt-table-checksum hoàn thành tổng kiểm tra một bảng, nó sẽ đợi tổng kiểm tra cuối cùng
chunk để sao chép cho tất cả các bản sao để nó có thể thực hiện "- [không] kiểm tra bản sao".
Vô hiệu hóa tùy chọn đó bằng cách chỉ định --no-replicate-check sẽ vô hiệu hóa kiểm tra này, nhưng nó
cũng vô hiệu hóa báo cáo ngay lập tức về sự khác biệt tổng kiểm tra, do đó yêu cầu một giây
chạy công cụ với "--replicate-check-only" để tìm và in các chênh lệch tổng kiểm tra.

CẮM VÀO


Tệp được chỉ định bởi "--plugin" phải xác định một lớp (tức là một gói) được gọi là
"pt_table_checksum_plugin" với chương trình con "new ()". Công cụ sẽ tạo một phiên bản của
lớp này và gọi bất kỳ hook nào mà nó định nghĩa. Không cần hook, nhưng plugin thì không
rất hữu ích nếu không có chúng.

Các móc này, theo thứ tự này, được gọi nếu được định nghĩa:

trong đó
before_replicate_check
after_replica_check
get_slave_lag
before_checksum_table
after_checksum_table

Mỗi hook được truyền các đối số khác nhau. Để xem những đối số nào được chuyển đến một hook,
tìm kiếm tên của hook trong mã nguồn của công cụ, như:

# - móc ký quỹ
if ($ plugin && $ plugin-> can ('init')) {
$ plugin-> init (
nô lệ => $ nô lệ,
slave_lag_cxns => $ slave_lag_cxns,
repl_table => $ repl_table,
);
}

Nhận xét "# --plugin hook" đứng trước mỗi lệnh hook.

Vui lòng liên hệ với Percona nếu bạn có thắc mắc hoặc cần trợ giúp.

DSN LỰA CHỌN


Các tùy chọn DSN này được sử dụng để tạo DSN. Mỗi tùy chọn được đưa ra như "option = value".
Các tùy chọn phân biệt chữ hoa chữ thường, vì vậy P và p không phải là cùng một tùy chọn. Không thể có
khoảng trắng trước hoặc sau "=" và nếu giá trị chứa khoảng trắng thì nó phải được trích dẫn.
Các tùy chọn DSN được phân tách bằng dấu phẩy. Xem trang web bộ công cụ percona để biết đầy đủ chi tiết.

· MỘT

dsn: bộ ký tự; copy: vâng

Bộ ký tự mặc định.

· NS

copy: không

Cơ sở dữ liệu bảng DSN.

· NS

dsn: mysql_read_default_file; copy: vâng

Tệp mặc định cho các giá trị kết nối.

· H

dsn: máy chủ; copy: vâng

Kết nối với máy chủ.

· P

dsn: mật khẩu; copy: vâng

Mật khẩu sử dụng khi kết nối. Nếu mật khẩu chứa dấu phẩy thì chúng phải được thoát
có dấu gạch chéo ngược: "exam \, ple"

· P

dsn: cổng; copy: vâng

Số cổng sử dụng để kết nối.

· NS

dsn: mysql_socket; copy: không

Tập tin ổ cắm để sử dụng cho kết nối.

· NS

copy: không

Bảng DSN bảng.

· U

dsn: người dùng; copy: vâng

Người dùng để đăng nhập nếu không phải là người dùng hiện tại.

MÔI TRƯỜNG


Biến môi trường "PTDEBUG" cho phép đầu ra gỡ lỗi chi tiết thành STDERR. Để kích hoạt
gỡ lỗi và chụp tất cả đầu ra vào một tệp, chạy công cụ như:

PTDEBUG = 1 pt-table-checksum ...> FILE 2> & 1

Hãy cẩn thận: đầu ra gỡ lỗi rất lớn và có thể tạo ra vài MB đầu ra.

WELFARE YÊU CẦU


Bạn cần Perl, DBI, DBD :: mysql và một số gói cốt lõi phải được cài đặt trong bất kỳ
phiên bản mới hợp lý của Perl.

Sử dụng pt-table-checksump trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    AAX sang MP3
    AAX sang MP3
    Cách sử dụng: - Cài đặt Trình quản lý âm thanh
    và mở một tệp tài khoản của bạn. - Ký tên
    vào tài khoản âm thanh của bạn (trong
    ứng dụng). Bây giờ chương trình có thể
    chuyển đổi bạn ...
    Tải xuống AAX sang MP3
  • 2
    Liên kết kiểm tra
    Liên kết kiểm tra
    TestLink là một quản lý kiểm tra dựa trên web
    dụng cụ. Ứng dụng cung cấp Kiểm tra
    đặc điểm kỹ thuật, kế hoạch kiểm tra và thực hiện,
    Báo cáo, Đặc tả yêu cầu
    và ...
    Tải xuống TestLink
  • 3
    XDXF - Định dạng trao đổi từ điển XML
    XDXF - Định dạng trao đổi từ điển XML
    XDXF là một dự án hợp nhất tất cả các
    mở từ điển và cung cấp cho cả người dùng
    và các nhà phát triển có nền tảng XML phổ biến
    định dạng, có thể chuyển đổi từ và sang ...
    Tải xuống XDXF - Định dạng trao đổi từ điển XML
  • 4
    Truyền GUI từ xa
    Truyền GUI từ xa
    Truyền GUI từ xa là một tính năng
    giao diện người dùng đa nền tảng phong phú để
    điều khiển từ xa một Truyền
    Bit-Torrent client daemon thông qua RPC của nó
    giao thức. Bộ truyền...
    Tải xuống Truyền từ xa GUI
  • 5
    s3cmd
    s3cmd
    Công cụ mã nguồn mở để truy cập Amazon S3
    lưu trữ tập tin. S3cmd là một lệnh miễn phí
    công cụ dòng và ứng dụng khách để tải lên,
    truy xuất và quản lý dữ liệu trong Amazon
    S3 và ot ...
    Tải xuống s3cmd
  • 6
    Công cụ máy chủ XyZerKunG
    Công cụ máy chủ XyZerKunG
    XyZerKunG ServerTool giúp bạn thực hiện
    máy chủ Minecraft của riêng bạn và chơi với
    bạn của bạn trong vài phút.
    Các tính năng: Tự động tạo một
    Máy chủ MinecraftU ...
    Tải xuống XyZerKunG ServerTool
  • Khác »

Lệnh Linux

Ad