2015-03-06 5 views
0

** Разочарована отсутствием четкой документации для Google Compute Engine (GCE) и интеграцией с облачным SQL-облаком Google и, в частности, связыванием двух. Нет поддержки в реальном времени, и в текущей документации отсутствует ясность, продолжая ссылаться на Google App Engine. Документация по ссылкам на Google App Engine связывается, но нет четкого процесса создания связи между экземпляром виртуальной машины (в Compute Engine - GCE) и Google SQL в том же проекте в облаке Google (опять же в Google Cloud).Ссылка на Google Compute Engine и Google Cloud SQL

Я установил Centos 7 VM (64) с сервером Mariadb, MariaDB и PHP со всеми коннекторами. Я протестировал все вызовы localhost, и все они работают.

в контроле доступа на Google SQL:

  1. направления, кажется, указывают, используя сокет, а затем использовать корень для PHP-приложения?

    • кажется довольно безошибочным. В отличие от использования root для администратора, тогда у приложения есть ограниченный доступ к пользователю в ограниченной базе данных. Нужны разные программные компоненты для доступа к базе данных и таблицам.
  2. При установлении пользователя с привилегиями в mySQL из CLI в Access Control требуется одинаковая настройка пользователя с одинаковыми настройками?

  3. При настройке SSL на Cloud SQl не следует автоматически заполнять SSL для вычисления движка или мне нужно также настроить файлы ключей в вычислительном движке. Я попытался с этим отключением (требуется очень надежная передача данных). Но до сих пор нет радости.

  4. В доступе тестирования PHP я, как еще, не получили вызов данных для работы, даже используя инструкции здесь: Accessing Google Cloud SQL instance from Google Compute Engine?

EDIT - решаемые - Благодаря Давиду ниже и ссылка, упомянутая в комментарии ниже.

направления приведены ниже и добавьте следующие шаги:

  • а. После того, как пользователь создан на Консоли разработчика в Cloud SQL, используйте CLI, HEIDI, mySQL Workbench или что-то похожее на подключение к экземпляру и установите определенные привилегии базы данных, настроив уже созданного пользователя.

  • b. Затем вернитесь к экземпляру VM (GCE) через SSH и настройте Apache/SELinux, разрешив удаленный mysql - см. Эту ссылку: php can't connect to mysql with error 13 (but command line can)

  • c. Установите TEST mysqli или PDO-разъем и проверьте наличие ошибок.

  • d.Вуаля

ответ

1

Основная суть подключения к Cloud SQL из PHP на GCE является следующее:

  1. Убедитесь, что ваш экземпляр Cloud SQL имеет адрес IPv4 (Под «Контроль доступа> IP-адрес» на страница экземпляра)
  2. Узнайте публичный IP-адрес вашего экземпляра GCE и добавьте его как авторизованную сеть на экземпляр Cloud SQL (в разделе «Контроль доступа> Авторизация»).
  3. Добавьте имя пользователя и пароль MySQL для своего экземпляра с удаленным доступом (в разделе «Контроль доступа> Пользователи» - вам нужен пользователь для хоста клиента%)
  4. При подключении к GCE вы используете стандартную систему подключения MySQL (например, mysqli_connect) с именем пользователя и паролем, которые вы только что настроили, подключением к IPv4-адресу вашего экземпляра Cloud SQL.

Добавление SSL довольно ручное - вам необходимо создать клиентский сертификат и скопировать CA сервера, клиентский сертификат и закрытый ключ клиента на сервер, а затем настроить клиент MySQL для его использования.

Вы упомянули розетки & корневой доступ. Это специфичный для App Engine. Из Compute Engine вы не можете использовать сокет для подключения, и вы можете использовать любого пользователя, которого вы создали.

+0

Подумайте, что путаница заключается в том, что пользователю предоставляются права супер, а не база данных - те, которые вы задали в mysql – Natedog

+0

Решенный Дэвидом и отмечающий, что в Google Developers Console/Cloud SQL/Access Control> Пользователи - вы устанавливаете основные права на экземпляр mysql - вы должны затем использовать CLI или другую связанную программу для предоставления определенных прав изолированной БД. AS WELL - УВЕРЕНА, чтобы отрегулировать SELinux - видя здесь: (большой oops) - http://stackoverflow.com/questions/4078205/php-cant-connect-to-mysql-with-error-13-but-command- линия-банка – Natedog

Смежные вопросы