EasyDB easydb
winget install --id=qingwz1994.EasyDB -e Open-source, cross-platform database management tool Connection Management · Object Browser · SQL Editor · Data Tracker · DDL Audit · Structure Diff · Data Migration · Data Sync · Data Export · Backup & Restore · Slow Query Analysis · Task Center · Secure Connection ✨ Features 🔌 Connection Management - Create, edit, test, group, and search MySQL connections - SSH Tunnel: JSch local port forwarding — bypass jump servers to access internal databases (password & private key authentication) - SSL/TLS Encryption: CA certificate verification, mutual TLS authentication (PEM format, no JKS conversion needed) - Encrypted Credential Storage: Connection passwords encrypted at rest with AES-256-GCM (machine-bound key); API responses automatically masked 🗂️ Database Workbench - Object tree browser with categorized nodes: Tables · Views · Stored Procedures · Functions · Triggers - Data preview with WHERE filter, column sorting, and field auto-completion - View support: data preview (read-only) and DDL viewer - Stored procedure / function / trigger DDL viewer - Table structure designer and DDL viewer ⚙️ Stored Procedure Execution - Right-click menu entry in workbench object tree (⚙ Execute Procedure / ⨍ Call Function) - Auto-load parameter metadata (IN/OUT/INOUT direction, data types) - Type-aware input components (integer, decimal, boolean, date, datetime, text) - NULL checkbox for each parameter - OUT parameter value display after execution - Multi-result-set support with tabbed display - Function return value display - Execution duration tracking - ProcedureAdapter architecture — extendable to PostgreSQL / DM (KingbaseES) ✏️ SQL Editor - Powered by Monaco Editor with syntax highlighting - Smart auto-completion: table names, column names, SQL keywords, MySQL functions - Context-aware: auto-detects tables in FROM/JOIN clauses and suggests columns - Execute selected text or full script with ⌘+Enter - SQL History: configurable per-database query history, searchable, re-run with one click (can be toggled per-database in Settings) 🔍 Data Tracker (CDC) - Real-time Binlog event capture: INSERT / UPDATE / DELETE (row-level) - Replay mode: replay historical Binlog files with configurable start/end positions - Server-side pagination — backend stores all events, frontend pulls on demand - Per-column diff view for UPDATE events, diff-only mode hides unchanged columns - Rollback SQL generation: reverse DML to DELETE/INSERT/UPDATE; download as .sql - Forward replay SQL generation - DDL Audit (v1.5 new): captures table-level DDL from Binlog QUERY events - 5 DDL types: CREATE TABLE / ALTER TABLE / DROP TABLE / TRUNCATE TABLE / RENAME TABLE - Risk classification: low / medium / high / critical - Raw SQL preserved for full audit trail - Dedicated DDL detail panel (no rollback/replay — read-only audit) - DDL filter in event list, DDL count in statistics panel - DDL events excluded from rollback/replay SQL generation 🆚 Structure Diff - Table-level structure comparison between two MySQL instances - Extended object comparison: Views · Stored Procedures · Functions · Triggers - DDL normalization: strips DEFINER, comments, and whitespace before diff - Side-by-side DDL comparison for non-table objects 🚀 Data Migration - Wizard-style workflow: Select Connection → Select Objects → Configure Strategy → Execute - Supports both schema migration and data migration 🔄 Data Sync - Table-level real-time sync with INSERT / UPSERT strategies - Performance optimized: 1.9M rows sync reduced from 48 min → 5 min 25 sec (9x faster) - rewriteBatchedStatements for batch writes - Disables unique_checks / foreign_key_checks during sync - Dynamic batch size (5,000 for regular tables, 10,000 for large tables) 📤 Data Export - Export to SQL/ZIP files for viewing, delivery, and compatibility - Support export cancellation with automatic cleanup of incomplete files - Direct download of exported files 💾 Database Backup & Restore - Backup - Create standard backup packages (.edbkp) with structure, data, and checksums - Three backup modes: full, structure-only, data-only - Table-level selection: choose specific tables or entire database - Consistent snapshot backup with Binlog position for PITR - SHA-256 checksum ensures data integrity - Custom output path, size estimation, progress tracking - Restore - Restore database from standard backup packages - File inspection: verify integrity, SHA-256, consistency status - Two restore strategies: restore to new database, overwrite existing - Three restore modes: full, structure-only, data-only - Table-level selection: restore specific tables - Real-time progress, log output, cancellation support 📥 SQL File Import - Native file picker (Tauri system dialog) - Drag & drop upload / manual path input - Stream-based import, no memory pressure for large files - Execution stats: success, failure, skip counts - Progress tracking, log viewer, cancellation support 🔍 Slow Query Analysis - Based on MySQL performance_schema — no Binlog or slow log parsing required - SQL fingerprint aggregation: group by digest, view execution count, average/max latency, rows scanned - Filter by minimum latency threshold, database, keyword search - Index-miss-only filter to surface queries without proper indexing - Sort by average latency, max latency, or execution count - One-click EXPLAIN execution plan analysis - Auto-detect performance_schema availability with capability check 📋 Task Center - Unified management for migration, sync, export, and import tasks - Real-time progress, elapsed time, and log viewer - Task cancellation, filtering, and history ⚙️ Settings - Dark / Light / System theme switching - Storage management: disk usage visualization, categorized cleanup (exports / logs / backups / task records) - Backup file management: list view, individual delete, batch cleanup by days - Auto-update check