If yo're still having issues with this, see this thread which solved the connection to MySQL Workbench for me:
https://www.digitalocean.com/community/questions/trying-to-connect-to-mysql-database-server-through-mysql-workbench-using-ssh?comment=42464
The key on a 2 server setup for me was to have the full internal address for the MySQL Hostname, i.e. 127.0.0.1:3306 - without this it just wouldn't work and it was by a LOT or trial and tests that I managed to get this to work.....so:
SSH Hostname: xx.xx.xx.x:22 of the DB server, which is also used as the bind address in my.cnf
SSH Username: your admin username
MySQL Hostname: 127.0.0.1:3306
MySQL Server Port: 3306
Username: whatever LOCAL , i.e. on the same db server, admin user you have set up on MySQL
You can then close it down as needed, e.g. with ufw on Ubuntu etc.
this took a LONG time to figure out so hopefully will save some peeps some time!
MySQL Workbench works without any configuration necessary. When making a new connection, select "Standard TCP/IP over SSH", then change the SSH and MySQL parameters as necessary. (You should probably keep the SQL server IP address as 127.0.0.1.)