Есть ли способ открыть порт 3306 между базой данных MySQL, работающей на вычислительном движке в облаке Google (не облачный SQL), и рабочей средой MySQL, работающей на вашем локальном компьютере, для подключения?
Мне удалось подключить его, открыв порт 3306 во всех сетях (0.0.0.0/0) по правилам брандмауэра. Однако я хочу ограничить его подключением только к моему ноутбуку, а не ко всем сетям. У меня динамический IP-адрес, но я не против создавать правило брандмауэра при каждом подключении. Пожалуйста, порекомендуйте.
Да, вы можете создать правило брандмауэра GCE для tcp:3306
протокол / порт и укажите свой удаленный IP-адрес в качестве диапазона исходных IP-адресов в Source filter
правила. Это позволит получить доступ к вашей службе MySQL, работающей на виртуальной машине GCE, только с вашего IP-адреса.
Поскольку ваш IP-адрес является динамическим, вы можете использовать следующие gcloud
команда для обновления исходного IP-адреса в правиле брандмауэра при изменении вашего IP-адреса:
gcloud compute firewall-rules update --source-ranges=<Your IP Address/32>
Если IP-адрес вашего ноутбука меняется после повторного подключения к Интернету, вы можете использовать Task Scheduler
ОС Windows запустить gcloud
команда автоматически после установки нового интернет-соединения.
Также проверьте это ссылка на сайт чтобы узнать, как получить свой общедоступный IP-адрес с помощью команды. Это будет полезно, если ваш компьютер подключен к частной сети и ipconfig
команда не отображает ваш внешний IP-адрес.
Вы также можете найти эквивалентные команды для ОС Linux.
Я много исследовал, я думаю, что нет способа разрешить адрес DHCP вашего ноутбука в брандмауэре googlecloud. Я смог исправить это препятствие, установив туннель ssh
Источник Windows: http://quintagroup.com/services/support/tutorials/mysql-windows
Источник Linux: http://quintagroup.com/services/support/tutorials/mysql-linux