Deliver data to MySQL
MySQL is an open-source relational database management system.
Quick Start
Connect in minutes with SQL
Use CREATE SINK to deliver processed data from RisingWave to MySQL. Define your transformation logic in SQL and let RisingWave handle delivery, retries, and exactly-once semantics.
CREATE SINK mysql_sink AS
SELECT
order_status,
COUNT(*) as order_count,
SUM(total_amount) as total_revenue,
AVG(total_amount) as avg_order_value,
MIN(last_updated) as first_order_time,
MAX(last_updated) as last_order_time
FROM orders_rw
WITH (
connector='jdbc',
jdbc.url='jdbc:mysql://<aws_rds_endpoint>:<port>/test_db?user=<username>&password=<password>',
table.name='personnel',
type = 'upsert',
primary_key = 'order_id'
);For comprehensive configuration details, please refer to the MySQL connector documentation.
Capabilities
What you can do with RisingWave + MySQL
Continuous Delivery
Automatically sink processed results from RisingWave to MySQL as new data arrives. No batch jobs needed.
Exactly-once Semantics
Guaranteed data correctness when delivering to MySQL with barrier-based checkpointing.
Upsert & Append
Support both append-only and upsert modes when sinking to MySQL, depending on your use case.
Sink Decoupling
Built-in buffering ensures RisingWave stays stable even if MySQL experiences temporary slowdowns.
Resources
Learn more
Complete configuration reference, authentication options, and advanced features for the MySQL destination connector.
RisingWave also supports MySQL as a source. View the source connector.
Get RisingWave running locally in 5 minutes and try your first streaming pipeline.
Start streaming in minutes
Connect to MySQL with just a few lines of SQL. No infrastructure to manage, no code to write.