Не могу получить доступ к MySQL удаленно на моей машине для разработки работы

Сегодня я пытался получить доступ к MySQL, запущенному на моей удаленной рабочей машине (Ubuntu), с моей домашней машины (OSX), но у меня ничего не получилось.

На своей рабочей машине я проверил следующее:

sudo netstat -ntlup | grep mysql

дает

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      23692/mysqld

а также nmap говорит мне

PORT     STATE SERVICE
3306/tcp open  mysql

И в /etc/mysql/my.cnf Я поставил bind-address = 0.0.0.0

Я также запускаю следующее iptables правила:

iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -o lo -p tcp --sport 3306 -j ACCEPT

Что еще я могу проверить?

Если есть какое-то корпоративное сетевое правило, блокирующее мой доступ к MySQL, что я могу проверить, чтобы найти это?

Единственный способ сделать эту работу — это туннелирование по ssh:

ssh -L 8080:localhost:3306 my_user_name@my_dev_machine_IP

а потом если я сделаю

mysql -h 127.0.0.1 --port=8080 -u root -p

Я могу войти. Если я закрою ssh-туннель, я не смогу войти ни через mysql, ни даже через telnet remote_IP 3306,

Но это не очень хорошо для того, что я хочу, потому что мне нужен PHP-код, работающий на моей локальной машине, чтобы иметь доступ к удаленной базе данных.

Я также (надеюсь, временно) открыл доступ к базам данных MySQL для всех хостов / IP:

GRANT ALL PRIVILEGES ON *.* TO 'application_username'@'%'
FLUSH PRIVILEGES

Любой совет с благодарностью получен!

2

Решение

Ubuntu имеет uwf — в некоторых установках vps он включен по умолчанию. Так что, если это так, сделать sudo ufw allow 3306, Я пишу этот JSUT на случай, если вы запустите nmap с вашей рабочей машины. Если nmap показывает, что результат запускается с вашего Mac, то это не относится.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]