gcloud не может получить доступ к облачному sql

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

gcloud beta sql databases list --instance=dbinstance  
NAME                CHARSET  COLLATION  
information_schema  utf8     utf8_general_ci  
main                utf8     utf8_general_ci  
mysql               utf8     utf8_general_ci  
performance_schema  utf8     utf8_general_ci  

Он добавляет мою локальную машину в список авторизации. Я вижу это через консоль. Но не удается подключиться:

gcloud beta sql connect dbinstance --user=root  
Whitelisting your IP for incoming connection for 5 minutes...  
Connecting to database with SQL user [root].  
Enter password:   
ERROR 2003 (HY000): Can't connect to MySQL server on '{db ip}' (110)

Он не настроен на использование SSL.


person stephen    schedule 15.02.2018    source источник
comment
Кстати, если вы хотите, вы можете открыть частную проблему в Google, опубликовав идентификатор проекта, и я могу изучить ваш проект. Зарегистрируйте его здесь issueetracker.google.com/issues/new?component=187164 и опубликуйте в комментарии ссылку (отказ от ответственности: я работаю в службе поддержки Google Cloud Platform)   -  person GalloCedrone    schedule 16.02.2018


Ответы (1)


Некоторые мысли:

A. Пользователь root может быть не авторизован в экземпляре базы данных, точка.

  1. Перейдите на страницу https://console.cloud.google.com/sql/instances/dbinstance/users
  2. Указан ли там пользователь root?
  3. Если да, то авторизуется ли root с любого IP-адреса? (представлена ​​'%')

B. Если пользователь root действительно авторизован на dbinstance с любого хоста, может быть проблема с брандмауэром здесь, в вашей локальной сети.

  1. В своем проекте откройте Cloud Shell, щелкнув значок > _ в верхней части сайта консоли. Это позволяет вам перемещаться внутри сети GCP, а не через какие-либо брандмауэры, которые могут быть установлены в вашей локальной сети.
  2. В Cloud Shell введите: gcloud beta sql connect dbinstance --user=root
  3. Он должен запросить ваш пароль. Введите это.

Если пароль для root не работает даже в Cloud Shell, попробуйте сбросить пароль (вкладка «Пользователи» на странице консоли dbinstance, три точки рядом с записью root, выберите «Изменить пароль».

Если пароль для root действительно работает в среде Cloud Shell, вы установили, что проблема заключается между вашим локальным компьютером и экземпляром БД. Чаще всего это проблема межсетевого экрана.

person ingernet    schedule 20.02.2018