Connexion à distance à la base de données heroku clearDB

103

Comment puis-je effectuer une connexion à distance à la base de données ClearDB MySQL sur heroku en utilisant par exemple le navigateur de requêtes MySQL. Où trouver l'URL, le port, le login et le mot de passe?

romain
la source

Réponses:

185

Sur le site Web heroku, accédez à Mes applications et sélectionnez l'application sur laquelle vous avez installé ClearDB.

Dans le coin supérieur, cliquez sur Addons , puis sélectionnez ClearDB MySQL Database . Une fois là-bas, cliquez sur votre base de données et choisissez l' onglet « Informations sur le point final ». Là, vous voyez votre nom d'utilisateur / mot de passe. L'URL de la base de données peut être obtenue en exécutant heroku config --app <YOUR-APP-NAME>dans la ligne de commande.

Dans mon cas, c'était quelque chose comme: mysql: // user: pass @ us-cdbr-east.cleardb.com / DATABASE? Reconnect = true Ce dont vous avez besoin est cette partie: us-cdbr-east.cleardb.com

Abbas
la source
17
Vous pouvez également le voir directement sur le tableau de bord / site Web Heroku, allez simplement dans votre application, cliquez sur "Paramètres" et "Révéler les variables de configuration".
Eirik H
1
Dans mon cas du moins, la partie équivalente us-cdbr-east.cleardb.com n'était pas le nom de la base de données mais plutôt le nom de l'hôte. Le nom de la base de données a cependant été trouvé sur le tableau de bord de l'addon ClearDB.
Roseaboveit
3
vous devrez exporter votre fichier de base de données local vers la base de données créée par Heroku. Suivez simplement cette vidéo et vous serez prêt à aller sur youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan
86

Vous exécutez heroku config pour obtenir le CLEARDB_DATABASE_URLet cela devrait être quelque chose de ce format:

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

Donc, en gros, il vous suffit de regarder votre propre URL et d'obtenir tout ce que vous voulez à partir de là. C'est ainsi que j'ai configuré mysql workbench.

Andrei
la source
3
Merci @Andrei mais qu'en est-il du port pour la base de données?
BKSpurgeon
2
@BKSpurgeon. Je l'ai fait fonctionner avec phpMyAdmin avec le port par défaut (voir stackoverflow.com/a/22092539/4900327 )
Abhishek Divekar
Merci beaucoup M. Cela m'aide à déployer mon fichier mysql sur heroku avec succès
Travis Le
@AbhishekDivekar votre commentaire m'a beaucoup aidé. Je viens de changer le nom d'utilisateur et quelques trucs sur un fichier congig.inc.php dans mon xamp et cela a fonctionné sur PHPMyAdmin.
Ahmed Adewale
24

Collez cette commande dans le terminal

  heroku config | grep CLEARDB_DATABASE_URL

Après cela, vous obtiendrez l'URL de la base de données. par exemple, c'est l'URL de votre base de données cleardb.

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

Ensuite, ce seront vos informations d'identification de base de données. (Extrait de l'URL ci-dessus)

NOM D'UTILISATEUR = b0600ea495asds

MOT DE PASSE = 9cd2b111

HÔTE = us-cdbr-hirone-west- 06.cleardb.net

NOM DE LA BASE DE DONNÉES = heroku_4a1dc3673c4114d

Développer
la source
13

J'ai fait une vidéo expliquant comment se connecter à MySql en utilisant NodeJS sur un serveur Heroku, jetez un œil:

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

Voici le code au cas où vous voudriez voir:

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

Voici une partie du code:

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);
});

À votre santé! MAGIE: http://makegif.com/g9yv.gif

lito
la source
4
Je ne sais pas pourquoi ce vote est si fortement négatif. Votre createConnection a clarifié les choses pour moi. Merci :)
Nico
3
La raison des votes négatifs doit également être fournie. C'est la réponse qui m'a aidé. Merci mec!
Anoop.PA
8

Si vous utilisez mySQL workbench, suivez ce schéma. Allez dans Heroku> Paramètres de vos applications> Config Vars et affichez l'URL longue. Cette URL comprend votre nom d'utilisateur, votre mot de passe, l'URL de la base de données et le schéma par défaut. Collez toutes les informations comme suit ci-dessous et vous pourrez vous connecter avec succès à la base de données. Il n'y avait pas vraiment d'explication sur la façon de se connecter à ClearDB en utilisant mySQL workbench sur ce fil, donc j'espère que cela aidera quelqu'un qui avait des difficultés.

entrez la description de l'image ici

Jordan Schuetz
la source
J'ai essayé cette solution mais cela ne fonctionne pas. Mais cette solution fonctionne bien dans Sequal Pro.
nitin.agam
2

Collez ce terminal à l'intérieur:

heroku config | grep CLEARDB_DATABASE_URL
user3805474
la source
1

Vous pouvez utiliser ce one-liner pour vous connecter à votre base de données MySQL dans votre terminal.

$ (ruby -e 'require "uri"; uri = URI.parse (ARGV [0]); met "mysql -u # {uri.user} -p # {uri.password} -h # {uri.host} -D # {uri.path.gsub ("/", "")} "'` heroku config: get CLEARDB_DATABASE_URL`)
Sébastien Saunier
la source
1

Accédez à votre application sur heroku et cliquez sur l'onglet «paramètres». Cliquez ensuite sur le bouton de la deuxième option qui dit «révéler les variables de configuration».

Vous devriez trouver, répertorié sous la variable CLEARDB_DATABASE_URL, quelque chose comme ça ...

mysql: // [nom d'utilisateur]: [mot de passe] @ [hôte] / [nom de la base de données]? reconnect = true

Ainsi, la [partie hôte] est votre hôte. La partie [nom de la base de données] est votre nom de base de données, bien sûr.

Vous avez toujours besoin de votre nom d'utilisateur et de votre mot de passe. Revenez à l'onglet «aperçu» dans heroku. Accédez au module complémentaire ClearDB dans la section de vos modules complémentaires installés. Cliquez sur la base de données à laquelle vous souhaitez accéder (probablement une seule option). Cliquez sur l'onglet «informations système». Vous devriez voir votre nom d'utilisateur et votre mot de passe.

cela devrait être tout ce dont vous avez besoin pour accéder à votre base de données. J'utilise Sequel Pro. Je viens de brancher ces informations (nom, hôte, dans l'onglet «standard» et j'étais prêt à partir.

user2364424
la source
0

Tous les détails seront dans l'URL de la base de données qui se trouve dans heroku config. En supposant que vous puissiez vous connecter directement à ClearDB (je n'ai jamais essayé), cela devrait être tout ce dont vous avez besoin ...

Neil Middleton
la source
0

Tout cela a parfaitement fonctionné pour moi. Utilisation de la configuration heroku | grep, comme décrit ci-dessus, puis en ajoutant simplement une autre entrée dans mon config.inc.php pour une utilisation par phpMyAdmin et je peux accéder à ma base de données cleardb à distance. Cela m'évite d'avoir à avoir SQL localement et d'utiliser postgres avec Heroku.

GiantCoder
la source
0

devrait envisager d'obtenir les informations d'identification des vars dans les configurations heroku (Config Vars):

CLEARDB_DATABASE_URL

Diego Santa Cruz Mendezú
la source
-1

Oui, vous pouvez vous connecter directement à ClearDB, en fait j'utilise Workbench pour me connecter. Ensuite, vous pouvez utiliser la même base de données pour votre hôte local et pour heroku.

Alisson Reinaldo Silva
la source
4
C'est bon à savoir, mais comment cela aide-t-il l'OP à trouver ses informations de connexion?
Brad Koch
1
Vous avez raison, mais je viens d'ajouter une info, car Neil Middleton a dit "En supposant que vous puissiez vous connecter directement à ClearDB", alors j'ai juste dit Oui, il le peut. Je m'excuse d'avoir répondu à quelque chose qui n'a pas aidé la question principale.
Alisson Reinaldo Silva
Pas de soucis. Des choses comme celle-ci sont de très bons commentaires, mais il semble que vous ayez encore besoin de quelques représentants supplémentaires pour cela.
Brad Koch
J'ai 0 problèmes pour accéder au service heroku. mais du service à la base de données, c'est là que réside le problème. boooo. gettig "composez le tcp 127.0.0.1:3306: getsockopt: connexion refusée"
filthy_wizard