Ask Your Question
1

Failed to determine MySQL binlog filename/position

asked 2018-06-25 06:22:10 -0500

kutny gravatar image

updated 2018-06-27 09:22:29 -0500

metadaddy gravatar image

I am not able to setup MySQL binlog as an origin. I keep getting the "MYSQL_003 - Error connecting to MySql: Failed to determine binlog filename/position" error. I double checked all the instructions (binlog_format=ROW, MySQL JDBC connector installation) but nothing helped. I noticed that many people ran into the same problem.

I use MySQL 5.7, JDBC Connector 8.0.11, everything installed via Docker.

Connectivity does not seem to be an issue. The connection to MySQL works without problems.

StreamSets Dockerfile: https://pastebin.com/BS6nxsGd

docker-compose.yml: https://pastebin.com/1wJxihDn

Screenshots of my Streamsets profile settings:

MySQL config

Installed stage libraries

mysql JDBC connector

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
5

answered 2018-06-27 05:39:44 -0500

Maithri gravatar image

updated 2018-06-27 18:07:18 -0500

metadaddy gravatar image
  • Place the same mysql jar inside streamsets-datacollector-mysql-binlog-lib
    • Check your mysql configuration file for server id (mostly 1)
    • Run the command and check whether binary logs are running SHOW BINARY LOGS; in your database
    • Refer to https://ask.streamsets.com/question/8...
edit flag offensive delete link more

Comments

1

Thanks a million! The "SHOW BINARY LOGS" helped as I didn't have binary logging enabled. I added "command: --log-bin=mysql-bin --server-id=1" to my docker-compose and now it works like a charm!

kutny gravatar imagekutny ( 2018-06-27 08:45:02 -0500 )edit

sounds great! welcome @kutny

Maithri gravatar imageMaithri ( 2018-06-27 23:44:59 -0500 )edit
0

answered 2018-06-25 09:59:53 -0500

metadaddy gravatar image

updated 2018-06-25 23:00:52 -0500

The most likely issue here is connectivity. Can you access the MySQL port from the Data Collector Docker container?

docker exec -t <sdc_container_id> bash

Then

telnet <mysql-ip-address> 3306

If you can connect without a problem, the next thing to check is that the MySQL JDBC Driver version matches the server. Using an 8.x driver with a 5.x server is known to be an issue.

edit flag offensive delete link more

Comments

Thanks. I installed the https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz JDBC driver but the problem still persists :-(

kutny gravatar imagekutny ( 2018-06-26 00:42:55 -0500 )edit
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2018-06-25 06:22:10 -0500

Seen: 132 times

Last updated: Jun 27