What is Binsight?
Binsight is a zero-dependency, local-first developer tool built in pure Go that turns opaque binary log files into an interactive, visual console. It eliminates the frustration of manually decoding, paging, and grepping through gigabytes of raw binary logs during production incidents, forensic audits, and replication debugging.
Why not mysqlbinlog | less?
For decades, diagnosing binlog data meant running mysqlbinlog -v -v and piping millions of lines into less or custom awk scripts. This workflow suffers from critical limitations:
- No Atomic Transaction Grouping: Events are printed as sequential, flat records. Finding where a transaction began and ended requires manually scanning for
XIDandCOMMITmarkers. - No Visual Diffing:
UPDATEevents printWHEREclauses followed bySETclauses as raw text. Identifying which specific columns changed across 50-column rows is painfully slow. - Unchecked Position Wraps: MySQL binlog positions are represented internally as 32-bit unsigned integers that wrap at 4 GiB (4,294,967,295 bytes). Raw CLI tools print wrapped positions, causing timeline miscalculations and broken replication lag metrics.
- Zero Aggregations: You cannot easily see the top mutated tables, transaction commit rates, or byte volume throughput without custom external data pipelines.
Key Capabilities
Dual-Engine Oracle
Fast native Go decoding tested against canonical mysqlbinlog oracle output for 100% byte fidelity.
64-Bit Monotonic Accumulator
Unwraps 32-bit 4 GiB position rollovers into continuous 64-bit coordinate space automatically.
Row-Image Diffs
Color-coded side-by-side or unified field comparisons for every UPDATE, INSERT, and DELETE.
Live SSE Streaming
Connects as a read-only replication client over MySQL protocol or tails local files via fsnotify.
Two Operating Modes
Binsight adapts to your operational security posture with two distinct modes:
- Offline File Inspection (Air-Gapped): Point Binsight to a local directory of
mysql-bin.*files or download a snapshot from your backup archive. Binsight indexes the files into a fast, temporary local SQLite cache with zero database credentials required. - Live Replication Streaming: Connect Binsight directly to a running MySQL or MariaDB primary or replica over standard port 3306. Binsight registers as a read-only replication client (
COM_BINLOG_DUMP) and streams real-time change data capture directly into the browser over Server-Sent Events (SSE).
Next Steps
Ready to inspect your first binlog? Follow the installation and quickstart guides: