Віддалене підключення до бази даних clearDB heroku


103

Як я можу виконати віддалене підключення до бази даних ClearDB MySQL на heroku, використовуючи, наприклад, браузер MySQL Query. Де взяти URL, порт, логін та пароль?

Відповіді:


185

На веб-сайті heroku перейдіть у розділ Мої програми та виберіть додаток, на якому встановлено 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, просто перейдіть у свій додаток, натисніть "Налаштування" та "Визначте конфігурацію".
Ейрік Н

1
Принаймні в моєму випадку, еквівалентною частиною us-cdbr-east.cleardb.com було не ім'я бази даних, а ім'я хоста. Однак ім'я бази даних було знайдено на інформаційній панелі для додатка ClearDB.
Roseaboveit

3
вам потрібно буде експортувати файл локальної бази в базу даних, створену Heroku. Просто слідкуйте за цим відео, і вам буде добре зайти на youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

86

Ви запускаєте heroku config, щоб отримати, 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
Travis Le

@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-адреси)

USER NAME = b0600ea495asds

ПАРОЛЬ = 9cd2b111

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

DATEABASE NAME = heroku_4a1dc3673c4114d


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> Налаштування додатків> Налаштувати Vars та показуйте довгу URL-адресу. Цей URL включає ваше ім'я користувача, пароль, URL-адресу бази даних та схему за замовчуванням. Вставте всю інформацію, як показано нижче, і ви зможете успішно підключитися до бази даних. Не було реального пояснення, як підключитися до ClearDB за допомогою mySQL workbench на цій нитці, тому, сподіваємось, це допомагає тому, хто боровся.

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


Я спробував це рішення, але це не працює. Але це рішення чудово працює в Sequal Pro.
nitin.agam


1

Ви можете скористатися цим одноклассником для підключення до бази даних MySQL у своєму терміналі.

$ (ruby -e 'вимагають "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: // [ім'я користувача]: [пароль] @ [хост] / [ім'я бази даних]?

Отже, [хост-частина] - це ваш хост. Розділ [ім'я бази даних] - це, звичайно, ваше ім'я db.

Вам ще потрібно ваше ім’я користувача та пароль. Поверніться на вкладку «огляд» у героїці. Перейдіть до додатку ClearDB у розділі встановлених додатків. Клацніть базу даних, до якої ви хочете отримати доступ (можливо, є лише 1 варіант). Перейдіть на вкладку "Інформація про систему". Ви повинні побачити своє ім’я користувача та пароль.

це має бути все, що вам потрібно для доступу до вашої бази даних. Я використовую продовження pro. Я просто включив цю інформацію (ім'я, хост, на вкладку "стандарт"), і мені було зручно піти.


0

Усі деталі будуть розміщені в URL-адресі бази даних, яку можна знайти heroku config. Якщо припустити, що ви можете підключитися до ClearDB безпосередньо (я ніколи не пробував), це повинно бути все, що вам потрібно ...


0

Все це працювало для мене чудово. Використання heroku config | grep, як описано вище, а потім просто додати ще один запис у мій config.inc.php для використання phpMyAdmin, і я можу віддалено отримати доступ до своєї бази даних cleardb. Це рятує мене від необхідності мати SQL локально та використовувати постгреси з Heroku.



-1

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


4
Це добре знати, але як це допомагає ОП знайти інформацію про їх з'єднання?
Бред Кох

1
Ви маєте рацію, але я щойно додав інформацію, тому що Ніл Міддлтон сказав: "Якщо припустити, що ви можете підключитися безпосередньо до ClearDB", то я просто сказав "Так". Прошу вибачення за те, що відповів на те, що не допомогло головному питанню.
Alisson Reinaldo Silva

Не хвилюйтесь. Такі речі є дійсно хорошим матеріалом для коментарів, але схоже, що для цього вам потрібно ще кілька представників.
Бред Кох

У мене 0 проблем, як потрапити до служби heroku. але від сервісу до db - це проблема. boooo. gettig "набрати tcp 127.0.0.1:3306: getsockopt: з'єднання відмовлено"
filthy_wizard
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.