I'm able to connect directly to a MySQL database on port 3306. As I understand, it would be more secure to go through an SSH tunnel, but this doesn't work yet with Power BI.
So here are instructions for connecting directly:
First, let's make sure that everything besides the PowerBI connection is working.
Download and install the correct version of the MySQL/Net Connector. Right now, version 6.6.5 is the one that works. But from other forums, and from within PowerBI itself, I linked to other versions that did not work (you will know it isn't working, because you probably won't be able to even open Get Data/MySQL Database/Connect).
See if you can connect remotely to your database through some well established utility like MySQL workbench. If you can't,
- look at ports on the remote server. Here's a cool utility to check ports & IPs: http://www.yougetsignal.com/tools/open-ports/
- Check the permissions of the DB user. Realize that they may be affiliated with an IP address: 'username'@'ipaddress'. So that user can only connect for a particular IP.
- Check the bind address setting. In newer versions of MariaDB, it should probably be commented out. I'm not sure about older version and pure MySQL.
- other troubleshooting.
So after that's working, here are the settings which worked for me in MySQL:
go to Get Data/MySQL database/connect
- Server: ipaddress:3306 (include ":port#")
- Database: dbname
PowerBI interface. Select "Database" instead of "Windows"

Make sure you select Database instead of Windows.