Удаленное подключение к базе данных clearDB heroku

103

Как я могу выполнить удаленное подключение к базе данных ClearDB MySQL на heroku, используя, например, MySQL Query Browser. Где взять url, порт, логин и пароль?

Римский
источник

Ответы:

185

На веб-сайте heroku перейдите в Мои приложения и выберите приложение, в котором вы установили ClearDB.

На верхнем углу нажмите на Addons , а затем выберите ClearDB базы данных MySQL . Оказавшись там, щелкните свою базу данных и выберите вкладку « Информация о конечной точке». Там вы видите свой логин / пароль. URL-адрес базы данных можно получить, запустив его heroku config --app <YOUR-APP-NAME>в командной строке.

В моем случае это было что-то вроде: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE? Reconnect = true Вам нужна эта часть: us-cdbr-east.cleardb.com

Аббас
источник
17
Вы также можете увидеть это прямо на панели управления / веб-сайте Heroku, просто зайдите в свое приложение, нажмите «Настройки» и «Показать конфигурационные переменные».
Eirik H
1
По крайней мере, в моем случае эквивалентная часть us-cdbr-east.cleardb.com была не именем базы данных, а скорее именем хоста. Однако имя базы данных было найдено на панели управления надстройки ClearDB.
Roseaboveit
3
вам нужно будет экспортировать файл локальной базы данных в базу данных, созданную Heroku. Просто
Картик Чаухан,
86

Вы запускаете конфигурацию heroku, чтобы получить, CLEARDB_DATABASE_URLи он должен быть примерно в таком формате:

CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true

Так что в основном вы просто смотрите на свой собственный URL и получаете оттуда все, что хотите. Вот как я настроил рабочую среду mysql.

Андрей
источник
3
Спасибо @Andrei, а как насчет порта для базы данных?
BKSpurgeon
2
@BKSpurgeon. Я получил его на работу с PhpMyAdmin с портом по умолчанию (См stackoverflow.com/a/22092539/4900327 )
Абхишек Divekar
Большое вам спасибо, мистер Он помогает мне успешно развернуть мой файл mysql на heroku
Трэвис Ле
@AbhishekDivekar ваш комментарий мне очень помог. Я просто изменил имя пользователя и кое-что в файле congig.inc.php в моем xamp, и он работал на PHPMyAdmin.
Ахмед Адевале
24

Вставьте эту команду в терминал

  heroku config | grep CLEARDB_DATABASE_URL

После этого вы получите URL базы данных. например, это URL вашей базы данных cleardb.

'mysql://b0600ea495asds:9cd2b111@us-cdbr-hirone-west-
 06.cleardb.net/heroku_4a1dc3673c4114d?reconnect=true'

Тогда это будут учетные данные вашей базы данных. (Извлечено из вышеуказанного URL)

ИМЯ ПОЛЬЗОВАТЕЛЯ = b0600ea495asds

ПАРОЛЬ = 9cd2b111

HOST = us-cdbr-hirone-west- 06.cleardb.net

ИМЯ БАЗЫ ДАННЫХ = heroku_4a1dc3673c4114d

Developine
источник
13

Я сделал видео, объясняющее, как подключиться к MySql с помощью NodeJS на сервере Heroku, посмотрите:

http://www.youtube.com/watch?v=2OGHdii_42s

Это код на случай, если вы хотите увидеть:

https://github.com/mescalito/MySql-NodeJS-Heroku

Вот часть кода:

var express = require("express");
var mysql      = require('mysql');
var app = express();
app.use(express.logger());

var connection = mysql.createConnection({
  host     : 'us-cdbr-east-04.cleardb.com',
  user     : 'b6d6c6e874',
  password : 'b3f7###',
  database : 'heroku_1daa39da0'
});

connection.connect();

app.get('/', function(request, response) {
  connection.query('SELECT * from t_users', function(err, rows, fields) {
      if (err) {
        console.log('error: ', err);
        throw err;
      }
      response.send(['Hello World!!!! HOLA MUNDO!!!!', rows]);
    });
});

var port = process.env.PORT || 5000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

Ура! МАГИЯ: http://makegif.com/g9yv.gif

лито
источник
4
Не знаю, почему это так сильно отвергается ... ваше createConnection прояснило мне ситуацию. Спасибо :)
Нико
3
Также должна быть указана причина голосования "против". Это ответ, который мне помог. Спасибо брат!
Anoop.PA
8

Если вы используете рабочую среду mySQL, следуйте этой схеме. Перейдите в Heroku> Настройки ваших приложений> Config Vars и покажите длинный URL. Этот URL-адрес включает ваше имя пользователя, пароль, URL-адрес базы данных и схему по умолчанию. Вставьте всю информацию, как показано ниже, и вы сможете успешно подключиться к базе данных. В этом потоке не было реального объяснения того, как подключиться к ClearDB с помощью рабочей среды mySQL, так что, надеюсь, это поможет кому-то, кто боролся.

введите описание изображения здесь

Джордан Шютц
источник
Я пробовал это решение, но оно не работает. Но это решение отлично работает в Sequal Pro.
nitin.agam 04
2

Вставьте это внутри терминала:

heroku config | grep CLEARDB_DATABASE_URL
user3805474
источник
1

Вы можете использовать этот однострочный интерфейс для подключения к базе данных MySQL в вашем терминале.

$ (ruby -e 'require "uri"; uri = URI.parse (ARGV [0]); помещает "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host}" -D # {uri.path.gsub ("/", "")} "'` конфигурация heroku: получить CLEARDB_DATABASE_URL`)
Себастьен Сонье
источник
1

Зайдите в свое приложение на heroku и перейдите на вкладку «Настройки». Затем нажмите кнопку второго варианта с надписью «показать конфигурационные переменные».

Вы должны найти в переменной CLEARDB_DATABASE_URL что-то вроде этого ...

mysql: // [имя пользователя]: [пароль] @ [хост] / [имя базы данных]? reconnect = true

Итак, [часть хозяина] - это ваш хозяин. Часть [имя базы данных] - это, конечно, ваше имя базы данных.

Вам по-прежнему нужны ваше имя пользователя и пароль. Вернитесь на вкладку «Обзор» в heroku. Перейдите к надстройке ClearDB в разделе установленных надстроек. Щелкните базу данных, к которой вы хотите получить доступ (возможно, только 1 вариант). Щелкните вкладку «системная информация». Вы должны увидеть свое имя пользователя и пароль.

это должно быть все, что вам нужно для доступа к базе данных. Пользуюсь сиквелом про. Я просто вставил эту информацию (имя, хост) во вкладку «Стандарт», и все готово.

user2364424
источник
0

Все подробности будут в URL-адресе базы данных, который можно найти в heroku config. Предполагая, что вы можете подключиться к ClearDB напрямую (я никогда не пробовал), это должно быть все, что вам нужно ...

Нил Миддлтон
источник
0

Все это у меня отлично сработало. Использование конфигурации heroku | grep, как описано выше, а затем просто добавив еще одну запись в мой config.inc.php для использования phpMyAdmin, и я смогу получить удаленный доступ к моей базе данных cleardb. Это избавляет меня от необходимости иметь локальный SQL и использовать postgres с Heroku.

GiantCoder
источник
0

следует рассмотреть возможность получения учетных данных варов в конфигурациях heroku (Config Vars):

CLEARDB_DATABASE_URL

Диего Санта-Крус Мендесу
источник
-1

Да, вы можете подключиться к ClearDB напрямую, на самом деле я использую Workbench для подключения. Затем вы можете использовать одну и ту же БД для своего локального хоста и для героку.

Алиссон Рейнальдо Силва
источник
4
Это полезно знать, но как это помогает OP найти информацию о подключении?
Брэд Кох
1
Вы правы, но я просто добавил информацию, потому что Нил Миддлтон сказал: «Предполагая, что вы можете подключиться к ClearDB напрямую», тогда я просто сказал «Да, он может». Прошу прощения за то, что ответил на то, что не помогло на главный вопрос.
Алиссон Рейнальдо Силва
Не беспокойся. Подобные вещи - действительно хороший материал для комментариев, но похоже, что для этого вам нужно еще немного репутации.
Брэд Кох
У меня 0 проблем с доступом к сервису heroku. но проблема в том, от службы к базе данных. бууу. gettig «набрать tcp 127.0.0.1:3306: getsockopt: соединение отклонено»
filthy_wizard