In order to connect remotely you have to have MysqL bind port: 3306 to your machines IP in /etc/MysqL/MysqL.conf.d/MysqLd.cnf
Then you have to have created the user in both localhost and '%' wildcard and grant permissions on all DB's as such . See below:
Replace xxx with your IP Address (normally 0.0.0.0)
bind-address= xxx.xxx.xxx.xxx
then
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass'; CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
Then
GRANT ALL ON *.* TO 'myuser'@'localhost'; GRANT ALL ON *.* TO 'myuser'@'%';
Depending on your OS you may have to open port 3306 to allow remote connections.
restart MysqL service:
sudo systemctl restart MysqL