Hello!
The internets got a lot of help for this error I've been having so have been able to try quite a few steps but am still at a loss so here we are. The issue is I can't connect to my mysql server from a remote IP address.
Steps taken so far
1. make sure bind address is set to 0.0.0.0 in /etc/mysql/mysql.conf.d/mysqld.cnf
2. make sure port 3306 is open and accessible on the server (
https://www.yougetsignal.com/tools/open-ports/ says (80.0.21.46 is accessible on port 3306)
3. Forward port 3306 from the router to the ip address of the server in my LAN:
http://80.0.21.46/portforwarding.png
4. Make sure that the user I'm connecting as to mysql has privileges to access from remote IP addresses:
+---------------------------------------------------------------+
| Grants for myusername@% |
+---------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'myusername'@'%' WITH GRANT OPTION |
+---------------------------------------------------------------+
Whilst on the local area network, I can telnet into the machine on port 3306 using the public IP address, however when I try it from a machine outside of the local area network I get the can't connect to mysql server and am not too sure what to try next.