Canal
- Android app
- Not listed
- Free plan
- Yes
- Runs on
- api, Linux, Mac, self-hosted

Summary
Canal parses MySQL binary logs so applications can subscribe to and consume database changes incrementally. It acts like a MySQL replica: it requests binlog data from a master and parses the resulting events. Listed uses include database mirroring and real-time backup, index maintenance, cache refresh, and business-logic processing. Supported source versions listed in the README are MySQL 5.1.x, 5.5.x, 5.6.x, 5.7.x, and 8.0.x. Canal can deliver change records to Kafka and RocketMQ, with RabbitMQ and Pulsar also listed as server modes in the quick start. Its Protocol Buffers 3.0 client-server design has clients for Java, C#, Go, and Python. Canal Admin offers a web interface for managing configuration, tasks, and logs, and the project lists native Prometheus monitoring. Docker images and a Docker QuickStart are provided; the default Docker setup runs one Canal instance per Docker instance. Canal is self-hosted and free under the Apache-2.0 license.
Who it is for
Canal suits teams that need to consume MySQL changes for mirroring, backup, cache refresh, indexing, or business processing. It is aimed at organizations able to run and manage self-hosted software.
What is good
- Incremental change capture from MySQL binary logs
- Supports listed MySQL versions through 8.0.x
- Delivers change records to Kafka and RocketMQ
- Admin web UI manages configuration, tasks, and logs
- Native Prometheus monitoring support
What to know first
- Default Docker setup runs one Canal instance
- Self-hosted deployment requires managing the software
Everything Xiaomi review
Canal: the full review
Canal provides a free, self-hosted route for consuming MySQL changes and forwarding them to supported message systems. Check the listed source-version support and default Docker instance limit against your deployment needs.
Overview
Canal is a self-hosted, open-source tool for capturing MySQL changes. It reads the database’s binary log and makes the resulting events available for incremental subscription and consumption. To do this, Canal acts like a MySQL replica: it requests binlog data from the master and parses the events.
The project identifies database mirroring and real-time backup, index maintenance, cache refresh, and business-logic processing as possible uses. Canal is licensed under Apache-2.0. It is listed for API, Linux, macOS, and self-hosted environments.
Key features
Change capture and database compatibility
The README lists MySQL 5.1.x, 5.5.x, 5.6.x, 5.7.x, and 8.0.x as supported source versions. Release notes for v1.1.8 also list adaptations for MySQL 8.4, MariaDB 11, Percona 8.0, and PolarDB-X 2.0. Check the compatibility details against the database you intend to capture before planning a deployment.
Destinations and client protocol
Canal can send change records to Kafka and RocketMQ. Its quick start also lists RabbitMQ and Pulsar as server modes, and the v1.1.8 notes announce a ClickHouse adapter. The project describes a client-server design using Protocol Buffers 3.0, with clients listed for Java, C#, Go, and Python.
Administration, monitoring, and deployment
Canal Admin provides a web interface for dynamically managing configuration, tasks, and logs. Native Prometheus monitoring is also listed. For deployment, the project provides Docker images and a Docker QuickStart; with its default setup, one Docker instance can run only one Canal instance.
Security and project support
The v1.1.8 release notes list SSL/TLS connections to source MySQL databases and SSL authentication for RabbitMQ. The security policy directs vulnerability reports to Alibaba Security Response Center and says reporters will be kept informed as fixes are pursued. Bugs and feature requests can be reported through GitHub issues.
Pricing
Canal is free. The listed plan price is 0.00 USD per free, and the project is open source under the Apache-2.0 license. It is self-hosted, so the stated price describes the software plan rather than a hosted deployment.
Platforms
The listed platforms include API, Linux, macOS, and self-hosted deployment. The supported-platform list also names Kubernetes, Linux, ACK Distro, AECP, and SOFAStack. Docker images and the repository’s Docker QuickStart offer another deployment route, subject to the one-Canal-instance-per-Docker-instance limit in the default setup.
Who it's for
Canal is aimed at teams that need to consume MySQL changes incrementally for mirroring, backup, index maintenance, cache refresh, or business-logic processing. Its message-queue integrations and language-listed clients may suit systems that need to pass captured changes to other services. Teams should account for the source database’s compatibility and the self-managed deployment model.
Pros and cons
- Pros: Supports a range of listed MySQL source versions, with additional adaptations noted for MySQL 8.4, MariaDB 11, Percona 8.0, and PolarDB-X 2.0.
- Pros: Offers Kafka and RocketMQ delivery, additional listed server modes, several client-language options, web-based administration, and Prometheus monitoring.
- Pros: Free and licensed under Apache-2.0.
- Cons: Requires self-hosting rather than offering a listed hosted plan.
- Cons: The default Docker setup runs only one Canal instance per Docker instance.
- Cons: Source database compatibility needs careful checking, particularly across the separate supported-version and release-adaptation lists.
Alternatives
For other change data capture options, see our Change Data Capture Software list. This directory also covers Container Networking Software and Feature Store Software, though those categories address different needs than Canal’s MySQL change capture.
Verdict
Canal’s core role is clear: it reads MySQL binlogs and makes parsed changes available for downstream use. Its listed integrations, client options, administration interface, and monitoring support give teams several ways to connect and operate that workflow. The key trade-offs are the need to manage a self-hosted deployment and to verify database-version compatibility for the intended source.
Canal plans and pricing
All plansCompared on container networking software
- Deployment model
- self-hostedgithub.com
- Capture method
- log-basedgithub.com
- Schema evolution
- Yesgithub.com
Facts
- Purpose
- Canal parses MySQL binary logs to provide incremental data subscription and consumption.github.com · 29 Sept 2026
- How it works
- Canal simulates a MySQL replica, requests binlog data from the master, and parses the events.github.com · 29 Sept 2026
- Use cases
- The project lists database mirroring and real-time backup, index maintenance, cache refresh, and business-logic processing as use cases.github.com · 29 Sept 2026
- Database support
- The README lists MySQL 5.1.x, 5.5.x, 5.6.x, 5.7.x, and 8.0.x as supported source versions.github.com · 29 Sept 2026
- Message queues
- Canal can send change records to Kafka and RocketMQ; its quick start also lists RabbitMQ and Pulsar as server modes.github.com · 29 Sept 2026
- Client languages
- The project describes a Protocol Buffers 3.0 client-server protocol and lists Java, C#, Go, and Python clients.github.com · 29 Sept 2026
- Administration
- Canal Admin provides a Web UI for dynamic management, including configuration, tasks, and logs.github.com · 29 Sept 2026
- Monitoring
- The project lists native Prometheus monitoring support.github.com · 29 Sept 2026
- Deployment
- Canal provides Docker images and the repository includes a Docker QuickStart.github.com · 29 Sept 2026
- Deployment limit
- The Docker QuickStart says one Docker instance can run only one Canal instance with the default setup.github.com · 29 Sept 2026
- Security
- The v1.1.8 release notes list SSL/TLS connections to source MySQL and RabbitMQ SSL authentication support.github.com · 29 Sept 2026
- Vulnerability reporting
- The security policy directs vulnerability reports to Alibaba Security Response Center.github.com · 29 Sept 2026
- Support
- The project asks users to report bugs and feature requests through GitHub issues.github.com · 29 Sept 2026
- License
- The GitHub repository identifies its license as Apache-2.0.github.com · 29 Sept 2026
- MySQL versions
- The README lists source MySQL versions 5.1.x, 5.5.x, 5.6.x, 5.7.x, and 8.0.x as supported.github.com · 30 Sept 2026
- Message systems
- Canal supports native delivery to Kafka and RocketMQ, and the README also describes publishing change records to message queues.github.com · 30 Sept 2026
- Client protocol
- Canal uses a client server design with Protocol Buffers 3.0, and clients can be implemented in different languages.github.com · 30 Sept 2026
- Security reporting
- The security policy directs vulnerability reports to Alibaba Security Response Center and says reporters will be kept informed while fixes are pursued.github.com · 30 Sept 2026
- Recent compatibility
- The v1.1.8 release notes list adaptation for MySQL 8.4, MariaDB 11, Percona 8.0, and PolarDB-X 2.0.github.com · 30 Sept 2026
- Transport security
- The v1.1.8 release notes list SSL/TLS connections to source MySQL databases and RabbitMQ SSL authentication support.github.com · 30 Sept 2026
- Additional adapters
- The v1.1.8 release notes announce a ClickHouse adapter.github.com · 30 Sept 2026
Best Canal alternatives
See all 12Where it ranks on Everything Xiaomi
Is Canal yours?
Claim it for free: prove the domain, then correct facts, plans and screenshots. An editor reviews every change.
Sources
- github.com/alibaba/canal· checked 29 Sept 2026
- github.com/alibaba/canal/wiki/Introduction· checked 29 Sept 2026
- github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ· checked 29 Sept 2026
- github.com/alibaba/canal/wiki· checked 29 Sept 2026
- github.com/alibaba/canal/wiki/Docker-QuickStart· checked 29 Sept 2026
- github.com/alibaba/canal/releases· checked 29 Sept 2026
- github.com/alibaba/canal/blob/master/SECURITY.md· checked 29 Sept 2026

