Tôi có 2 tệp kết xuất MySQL. Tôi muốn tìm sự khác biệt dữ liệu bảng giữa 2 bảng.Làm thế nào để tôi thấy sự khác biệt giữa 2 bãi chứa MySQL?
Trả lời
Có thể bạn có thể cung cấp một công cụ gọi là mysqldiff một lần nữa, tôi chưa thử bản thân mình nhưng nó đã nằm trong danh sách của tôi một thời gian.
chạy mysqldump với " --skip-opt "để có được 2 bãi fil es ví dụ:
mysqldump --skip-opt -u $MY_USER -p$MY_PASS mydb1 > /tmp/dump1.sql
mysqldump --skip-opt -u $MY_USER -p$MY_PASS mydb2 > /tmp/dump2.sql
so sánh sử dụng các tùy chọn khác:
diff -y --suppress-common-lines /tmp/dump1 /tmp/dump2
Để so sánh 2 diffs mysql họ cần phải được thực hiện một cách nhất định, do đó thứ tự là một cách xác định và dữ liệu không liên quan bị bỏ qua.
Đây là một điểm không hoàn toàn có thể với mysqldump
, tôi không chắc liệu điều này có thay đổi trong thời gian chờ đợi hay không.
Một công cụ tốt cho công việc là pydumpy
https://code.google.com/p/pydumpy/ (gương: https://github.com/miebach/pydumpy)
Nếu bạn muốn so sánh với một bãi cũ, giống như trong câu hỏi, trước tiên bạn có thể tạo ra một cơ sở dữ liệu tạm thời từ các bãi chứa và sau đó bắt đầu đó.
Câu hỏi này rất cần thêm chi tiết. – JoshD