- Home
- Change Data Capture Software
- Maxwell's Daemon
Maxwell's Daemon
What it is
Maxwell’s Daemon is a free, open-source, self-hosted Linux tool that reads MySQL binary logs and writes database changes as JSON to streaming platforms. Documented producers include Kafka, Kinesis, SQS, SNS, NATS, Google Cloud Pub/Sub, BigQuery, RabbitMQ, and Redis. Listed uses include ETL, database change auditing, cache building or expiration, search indexing, and communication between services. Events can be filtered by database, table, or column values, with JavaScript filters for custom row filtering and data changes. Maxwell supports schema evolution and an initial snapshot. Metrics can be exposed through logging, JMX, HTTP, or Datadog; HTTP endpoints cover metrics, Prometheus, health checks, ping, and diagnostics. The quick start describes command-line and Docker deployment, plus binary and Homebrew installation options. Requirements include JRE 11 or later, MySQL 5.1 through 8, and Kafka 0.8.2 or later when Kafka is used. With MySQL’s MINIMAL row image, UPDATE and DELETE output may be incomplete, while INSERT output omits column defaults.
For and against
For
- Streams MySQL changes as JSON
- Supports many streaming destinations
- Offers database and column filtering
- Includes metrics and health endpoints
- Supports initial snapshots
Against
- MINIMAL row images can omit update details
- High availability is experimental alpha quality
- Requires JRE 11 or later
The verdict
Maxwell’s Daemon offers broad MySQL binlog streaming and filtering options for self-hosted deployments. Its documented row-image caveat and experimental high availability deserve attention during architecture planning.
Who it suits
It suits teams building self-hosted MySQL change-data pipelines, audits, caches, indexes, or service integrations. Users should account for its Java, MySQL, and optional Kafka requirements.
Plans and prices
Free
No paid plans or usage limits stated on the opened pages
Read 3 Oct 2026 · maxwells-daemon.io
On the record
- Deployment
- The quick start documents running Maxwell from the command line or Docker and provides a binary distribution and Homebrew installation command.maxwells-daemon.io · read 3 Oct 2026
- Encryption
- When enabled, Maxwell encrypts messages with AES/CBC/PKCS5PADDING using a user-provided key, then base64-encodes values.maxwells-daemon.io · read 3 Oct 2026
- Filtering
- Maxwell can filter by database, table, and column values, and supports JavaScript filters for custom row filtering and data changes.maxwells-daemon.io · read 3 Oct 2026
- High availability
- The documentation describes client-side high availability as experimental and alpha quality, and says at least three Maxwell nodes are needed for leader elections.maxwells-daemon.io · read 3 Oct 2026
- Monitoring
- Metrics can be exposed through logging, JMX, HTTP, or Datadog, and HTTP endpoints include metrics, Prometheus, health check, ping, and diagnostics.maxwells-daemon.io · read 3 Oct 2026
- Notable limitation
- With binlog_row_image=MINIMAL, UPDATE and DELETE output may be incomplete, and INSERT output omits column default values.maxwells-daemon.io · read 3 Oct 2026
- Output integrations
- Documented producers include Kafka, Kinesis, SQS, SNS, NATS, Google Cloud Pub/Sub, BigQuery, RabbitMQ, and Redis.maxwells-daemon.io · read 3 Oct 2026
- Requirements
- The compatibility page lists JRE 11 or above, MySQL 5.1, 5.5, 5.6, 5.7, or 8, and Kafka 0.8.2 or greater when using Kafka.maxwells-daemon.io · read 3 Oct 2026
- Support and source
- The quick start directs users to GitHub for source code and bug tracking.maxwells-daemon.io · read 3 Oct 2026
- Use cases
- The site lists ETL, database change auditing, cache building or expiring, search indexing, and inter-service communication as use cases.maxwells-daemon.io · read 3 Oct 2026
- What it does
- Maxwell reads MySQL binlogs and writes database changes as JSON to Kafka, Kinesis, and other streaming platforms.maxwells-daemon.io · read 3 Oct 2026