I am getting this weird issue, where I mark a given day, and the day stored in the db is one day before. So if I mark 1st November, I get 31st October in the db.
Have removed the serverTimeZone connection string attribute and no luck.
Have googled around and seems that the mysql server might be doing adjustments when storing, but finding no easy solution.
Try to debug SQL queries and see what exactly data is being passed to the MySQL. Logging setup is described in the documentation. If the application sends the correct data, then the problem with your DB settings, refer to the documentation for your DB version.