I have a mysql server on my Ubuntu 20.04 server on a local network as the backend for my GnuCash installation. I can connect with no trouble using an SSH tunnel from my Ubuntu 20.04 desktop. However, I have recently acquired a Windows 10 laptop, and I cannot connect. I have been able to verify that the tunnel is operational, as I can pull up the database in MySQL Workbench on my Windows machine. However, GnuCash always reports 'The server at URL mysql://[db_user]@127.0.0.1:[local_port]/[database_name] experienced an error or encountered bad or corrupt data.' I have tried using 'localhost' instead of 127.0.0.1 with the same result. I also made sure I am using the same version on both machines. Is there some way to troubleshoot?
Your question has more of a tech support vibe to it (so it might be better suited for another stackexchange forum), but I'm going to give it a crack anyways.
I have a similar setup to what you describe, linux server running mysql on my home network, which is accessed by connecting the gnucash application to that DB from Windows and linux pc's / laptops.
Getting to your specific question, you've verified the db is running and created (users, grants, etc). You've verified your ports (3306 on db, tunneled to local ie 5555) and connected a gnucash client to 127.0.0.1 (not localhost) port 5555 on a linux box successfully? Then I'd suggest you review your putty config on Windows.. Check the web for tutorials (for example) and make sure you're not missing a step. Another idea would be to skip the tunnel, try connecting the Windows client to the db ip (192.168.0.X) port 3306 directly. If that works, then your putty config is the problem. Another thing to consider is making sure you're using the same version of the client on each computer, different versions are often backwards but not forwards compatible. Good luck!