Как исправить отказ MySQL в доступе к вычислительному экземпляру Google-Cloud-платформы - PullRequest
1 голос
/ 12 октября 2019

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

$ mysql -h <cloud-sql-host> -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'XXX'@<cloud_sql_host> (using password: YES)

1 Ответ

2 голосов
/ 12 октября 2019

Существует несколько областей, которые необходимо настроить для предоставления доступа.

1) Области действия Compute Engine

Перейдите в Google Cloud Console для Compute Engine. Дважды проверьте области, которые разрешены для служебной учетной записи для Compute Engine. По умолчанию Cloud SQL не разрешен.

2) Разрешения учетной записи службы

Проверка - это роль, назначенная учетной записи службы, назначенной для Compute Engine. Вам понадобится одна из ролей Cloud SQL. Обычно вам понадобится Cloud SQL Client. Области, о которых я упоминал ранее, служат для уменьшения, а не увеличения разрешений учетной записи службы. Вам по-прежнему необходимо иметь правильные разрешения, предоставленные учетной записи службы.

https://cloud.google.com/sql/docs/mysql/connect-external-app

3) Разрешения базы данных Google Cloud SQL

Убедитесь, чтовашему входу в MySQL было «предоставлено» разрешение на вход.

  1. Перейдите в консоль Google Cloud SQL.
  2. Перейдите на вкладку «Пользователи».
  3. Выберите пользователяname.
  4. Убедитесь, что host является вашим общедоступным IP-адресом, или при необходимости используйте % для обозначения любого хоста.

Примечание: Я рекомендую использоватьCloud SQL Proxy для доступа к Cloud SQL. Это безопасно, и вам не нужны IP-адреса для Cloud SQL.

Cloud SQL Proxy

...