Какая строка подключения для Google Cloud mySQL, в файле node.js?

0

Сценарий выглядит следующим образом: я пишу приложение node.js локально и хочу, чтобы он (mySQL modul, скорее) подключался к db mySQL, работающему на Google Cloud Platform.

Я не могу правильно получить строку подключения и продолжать получать ошибки. GCP содержит два имени для базы данных - один я выбрал, один сгенерированный, более сложный. Проще всего я должен поставить один из них в строку подключения как "базу данных", хост, скорее всего, IP-адрес с портом (или нет (?)), Я не уверен, что должен быть "пользователь", или если это необходимо, Недостаточно информации на страницах справки GCP или в другом месте.

tl; dr: Мне нужно следующее подключение приложения node.js с модулем mySQL удаленно к базе данных GCP:

var con = mysql.createConnection({
  host:"11.222.333.444:3306",
  user: "me"
  password:"passwo3d",
  database:"projectname-1528892969949:europe-west5:dbname"
});

Спасибо!

Теги:
google-cloud-platform
database-connection
connection-string

2 ответа

1
Лучший ответ

Строка необработанного соединения должна выглядеть примерно так: mysql://user:password@localhost:port/db

Поэтому я думаю, что ваш код должен выглядеть примерно так:

var con = mysql.createConnection({
  host:"11.222.333.444", <-- remove the port from your string
  user: "me"
  password:"passwo3d",
  database:"dbname" <--  you have it as the instance name .. its just suppose to be the DB name
});

Вы также можете попробовать подключиться к экземпляру с помощью настройки прокси-сервера. Вы принимаете только localhost.

Наконец, вы всегда можете пойти в консоль GCP → перейти к вашему экземпляру и открыть оболочку. Я думаю, что они распечатывают gcloud cmd там, и вы также можете копировать значения с консоли.

В зависимости от того, как вы нажимаете свой код, вам может потребоваться изменить несколько строк соединений в ваших манифестах. Если вы можете поделиться тем, что я могу помочь дальше.

  • 1
    Спасибо, Прашант. Я не осознавал, что этот экземпляр был не экземпляром действительной базы данных, а скорее экземпляром службы, подобным серверу SQL, который содержит базы данных.
0

Для этого вам нужно сначала включить удаленный доступ для вашего mysql на вашей GCP. Пошаговое руководство здесь, вы можете оставить первые несколько шагов для установки mysql.

  • 0
    Спасибо, но я не думаю, что это решает мою проблему. У меня нет виртуальной машины, на которую ссылается предложенная вами страница справки, и я все равно разрешил удаленные подключения к экземпляру mySQL напрямую. Что мне нужно, так это правильная строка коннекта или что-то еще, о чем я не знаю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню