大数据-业务数据采集-FlinkCDC The MySQL server is not configured to use a ROW binlog_format
数据,业务,采集,flinkcdc,the,mysql,server,is,not,configured,to,use,row,binlog,format
·
浏览次数 : 220
小编点评
The error message indicates that the MySQL server is not configured to use a ROW binlog format, which is required for the Kafka Connect connector to work properly.
**Steps to resolve the issue:**
1. **Check MySQL configuration:**
- Use the `SHOW VARIABLES LIKE "binlog_format%"` command to view the current binlog format.
- Ensure that the `binlog_format` variable is set to `STATEMENT`.
2. **Restart Kafka Connect connector:**
- Stop the Kafka Connect connector application.
- Modify the `my.cnf` configuration file and set the `binlog_format` variable to `STATEMENT`.
- Restart the connector application.
3. **Modify `my.cnf` configuration:**
- Add the following lines to the `my.cnf` configuration file:
```
binlog_format = 'STATEMENT'
binlog_format = 'ROW'
binlog_format = 'MIXED'
```
4. **Restart MySQL server:**
- Restart the MySQL server.
5. **Verify that connector is working correctly:**
- Start the Kafka Connect connector application.
- Ensure that data is flowing correctly from MySQL to the target system.
**Additional notes:**
- The `binlog_format` variable controls how MySQL writes log events to the binary log file.
- The `STATEMENT` format is recommended for production environments.
- The `ROW` and `MIXED` formats may be suitable for specific use cases.
正文
Caused by: org.apache.kafka.connect.errors.ConnectException: The MySQL server is not configured to use a ROW binlog_format, which is required for this connector to work properly. Change the MySQL configuration to use a binlog_format=ROW and restart the connector.
at io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:211)
at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:106)
at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:758)
at io.debezium.embedded.ConvertingEngineBuilder$2.run(ConvertingEngineBuilder.java:171)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
查看mysql的service方式:
SHOW VARIABLES LIKE "binlog_format%";
修改 my.cnf
log-bin=mysql-bin
#binlog_format="STATEMENT"
binlog_format="ROW"
#binlog_format="MIXED"
#service-id=1
重启后
也可运行时动态修改
mysql> SET SESSION binlog_format = 'STATEMENT';
mysql> SET SESSION binlog_format = 'ROW';
mysql> SET SESSION binlog_format = 'MIXED';
mysql> SET GLOBAL binlog_format = 'STATEMENT';
mysql> SET GLOBAL binlog_format = 'ROW';
mysql> SET GLOBAL binlog_format = 'MIXED';
与大数据-业务数据采集-FlinkCDC The MySQL server is not configured to use a ROW binlog_format相似的内容: