> через внешний IP
Выставлять БД наружу - это крайне хреновая идея, если "наружу" - это интернет, а не для доступа с другого хоста в локальной сети.
Для второго случая добавь юзера типа "user@%", тогда он сможет авторизоваться с любого адреса.
И пропиши в конфиге
[mysqld]
bind-address = 0.0.0.0
Тогда сервер будет слушать не только локалхост.