- https://dev.mysql.com/doc/
- https://dev.mysql.com/doc/refman/8.0/en/
- https://dev.mysql.com/downloads/connector/j/
Core Functionality
- Polling Queries – Periodically retrieves data from configured MySQL tables.
- Structured Data Ingestion – Converts rows into JSON messages.
- Secure Connection – Connects using username/password authentication.
- Schema Compatibility – Maps MySQL column types into JSON for Condense topics.
- Scalability – Supports ingesting large batches for high-volume applications.
- Connection Setup – Connector establishes a secure connection with the configured MySQL host and port.
- Authentication – Uses the provided database username and password.
- Polling – Queries the specified database and table at intervals to fetch new or updated records.
- Transformation – Rows are serialized into JSON documents.
- Publishing – Messages are published to a designated Kafka topic in Condense for further processing or storage.
Field-by-Field Explanation
1. Title
- Description: A user-defined name for the connector.
- Example:
MySQL_Input_Sales
2. MySQL Hostname
- Description: Hostname or IP address of the MySQL server.
- Example:
mysql.company.com
3. MySQL Port
- Description: Port on which MySQL is listening.
- Default:
3306 - Example:
3306
4. Database Username
- Description: Username for authenticating to MySQL.
- Example:
db_user
5. Database Password
- Description: Password associated with the database user.
- Example:
db_password
6. Database Name
- Description: The database within MySQL to be accessed.
- Example:
sales_db
7. Table Name
- Description: The MySQL table from which data will be fetched.
- Example:
transactions
8. Output Topic
- Description: The Condense Kafka topic where the ingested MySQL data will be published.
- Example:
mysql_transaction_stream
- Cause: Wrong hostname, port, or firewall restrictions.
- Fix: Verify server details and ensure MySQL is reachable.
- Cause: Invalid username or password.
- Fix: Double-check credentials or reset them in MySQL.
- Cause: Table is empty or polling interval misconfigured.
- Fix: Verify table contents and adjust polling settings.
- Cause: Unsupported or complex data types in MySQL.
- Fix: Convert or transform complex data types before ingestion.
- Ensure primary keys are configured for efficient queries.
- Configure an appropriate fetch size to balance latency and throughput.
- Use timestamp or incremental key-based queries to avoid duplicate ingestion.
- Secure database credentials and enable SSL/TLS for remote database connections whenever possible.
- Use separate connectors for different databases or business domains.
- Create descriptive output topic names for downstream consumers.
- Test SQL queries before configuring the connector.
- Monitor connector logs to identify ingestion failures early.
- Use read-only database accounts for improved security.