Инструкция по организации внешних подключений mysql.

Открыть порт

Открыть порт 3306 для привязки к любым ip-адресам

В файле /etc/mysql/mysql.conf.d/mysqld.cnf коррктируем привязку ip-адреса:

bind-address = 0.0.0.0
Проверим:
systemctl restart mysql; netstat -tulpn

Вывод должен быть такой:

tcp 0.0.0.0:3306
Открыть порт на файерволе:

iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

Корректируем доступ

mysql -u root
grant all privileges on <database_name>.* to <username>@<host_ip> identified by 'secret_pass';
flush privileges;
угловые скобки не надо - вместо них подставляем параметры:
- host_ip - ip адрес ВМ, с которой надо разрешить обращение к БД;
- database_name - имя БД
- username – имя пользователя

Если надо доступ с любого хоста, то вместо можно поставить ‘%’ - но лучше так не делать, т.к. повышаются риски проникновения.