Подключите MySQL Workbench к GCE MySQL - PullRequest
1 голос
/ 06 марта 2019

Прошло два дня, и я разочаровался в этом. Я не могу подключиться к своему google compute engine, работающему под управлением mysql, с помощью рабочей среды.

Я следовал инструкциям по многочисленным ссылкам на stackoverflow, но безрезультатно. Смотрите ниже статус всего.

Ниже выполняется на GCE через окно браузера ssh.

lunchbusters_za@lamp-inst:~$ cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind

bind-address = 0.0.0.0

Примечание. Я также прокомментировал выше bind-адрес.

lunchbusters_za@lamp-inst:~$ netstat -an | grep 3306

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

lunchbusters_za@lamp-inst:~$ sudo ufw status

Статус: неактивен

Брандмауэр даже не включен, но я все равно разрешил 3306 / tcp.

Ниже пользователь, которого я использую, он может подключиться. Я установил пароль на NO, чтобы исключить это.

lunchbusters_za@lamp-inst:~$ mysql -u admin

Добро пожаловать на монитор MySQL. Команды заканчиваются на; или \ g. Ваш идентификатор соединения MySQL - 11 Версия сервера: 5.7.25-0ubuntu0.18.10.2 (Ubuntu)

Copyright (c) 2000, 2019, Oracle и / или ее филиалы. Все права защищены.

Oracle является зарегистрированным товарным знаком корпорации Oracle и / или ее филиалы. Другие названия могут быть торговыми марками их соответствующих владельцы.

Введите 'help;' или '\ h' за помощь. Введите '\ c', чтобы очистить текущий оператор ввода.

mysql>

Теперь я хочу использовать верстак, который работает на моем Macbook, для подключения к GCE:

Я беру внешний IP-адрес с панели мониторинга Google Cloud Platform для своей виртуальной машины и пытаюсь подключиться с помощью рабочей среды.

enter image description here

enter image description here

enter image description here

Я не нахожусь в частной сети, которая может что-либо блокировать, я подключен к своему частному модему Wi-Fi.

Я также могу пропинговать внешний IP с моего macbook, с которого пытаюсь подключиться. Я также могу получить доступ к phpmyadmin из моего локального веб-браузера.

1 Ответ

2 голосов
/ 06 марта 2019

Вы можете использовать SSH туннель для подключения:

gcloud compute ssh --zone us-west1-a INSTANCE_NAME -- -N -p 3306 -D localhost:3306

Но позвольте мне попытаться помочь вам без обходного пути.

Поэтому нам нужно выполнить следующие шаги:

  • Шаг 1 - Проверьте правила брандмауэра - В https://console.cloud.google.com/networking/firewalls/ проверьте, есть ли у вас правила для tcp: 3306 или tcp *Диапазон 1017 *, который включает 3306 .

  • Шаг 2 - Проверить локальное подключение с портом 3306 - В том жеgce экземпляр, на котором запущен mysql, проверьте подключение с использованием telnet в порту 3306 (telnet ip-machine 3306).

  • Шаг 3 - проверкалокальное подключение с mysql - из того же экземпляра, на котором запущен mysql, подключитесь к mysql.

  • Шаг 4 - подключение внутри сети GCP - выполните предыдущие шаги издругой экземпляр GCE в том же проекте GCP.

  • Шаг 5 - Порт подключения 3306 за пределами GCP - Выполнить шаг 2 с вашей машины.

...