1v0.2.1

Overview & Introduction

Binsight is a local, read-only MySQL and MariaDB binlog visualizer, forensic inspector, and anomaly detection engine.

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 XID and COMMIT markers.
  • No Visual Diffing: UPDATE events print WHERE clauses followed by SET clauses 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:

  1. 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.
  2. 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:

ESC
Quick Commands
Navigation
↑ ↓ navigate↵ select