เชื่อมต่อระยะไกลกับฐานข้อมูล clearDB heroku


105

ฉันจะทำการเชื่อมต่อระยะไกลกับฐานข้อมูล ClearDB MySQL บน heroku โดยใช้ MySQL Query Browser ได้อย่างไร จะหา url พอร์ตล็อกอินและรหัสผ่านได้ที่ไหน?

คำตอบ:


188

ในเว็บไซต์ heroku ไปที่แอพของฉันแล้วเลือกแอพที่คุณติดตั้ง ClearDB

ด้านบนมุมคลิกที่Addonsแล้วเลือกฐานข้อมูล MySQL cleardb คลิกที่ฐานข้อมูลของคุณแล้วเลือกแท็บ ' ข้อมูลปลายทาง ' คุณจะเห็นชื่อผู้ใช้ / รหัสผ่านของคุณ 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 เพียงไปที่แอปของคุณคลิก "การตั้งค่า" และ "เปิดเผย config vars"
Eirik H

1
ในกรณีของฉันอย่างน้อยส่วนที่เทียบเท่า us-cdbr-east.cleardb.com ไม่ใช่ชื่อของฐานข้อมูล แต่เป็นชื่อของโฮสต์ อย่างไรก็ตามพบชื่อฐานข้อมูลบนแดชบอร์ดสำหรับ ClearDB addon
Roseaboveit

3
คุณจะต้องส่งออกไฟล์ฐานข้อมูลในเครื่องของคุณไปยังฐานข้อมูลที่สร้างโดย Heroku เพียงติดตามวิดีโอนี้แล้วคุณจะดีไปที่youtube.com/watch?v=mBCH9OTVaGw&t=6s
Kartik Chauhan

87

คุณเรียกใช้ heroku config เพื่อรับCLEARDB_DATABASE_URLและควรเป็นรูปแบบนี้:

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

โดยพื้นฐานแล้วคุณเพียงแค่ดู url ของคุณเองและรับสิ่งที่คุณต้องการจากที่นั่น นั่นคือวิธีตั้งค่า mysql workbench


3
ขอบคุณ @Andrei แต่พอร์ตสำหรับฐานข้อมูลล่ะ?
BKSpurgeon

2
@BKSpurgeon. ฉันทำให้มันทำงานกับ phpMyAdmin ด้วยพอร์ตเริ่มต้น (ดูstackoverflow.com/a/22092539/4900327 )
Abhishek Divekar

ขอบคุณมากที่ช่วยให้ฉันปรับใช้ไฟล์ mysql กับ heroku ได้สำเร็จ
Travis Le

@AbhishekDivekar ความคิดเห็นของคุณช่วยฉันได้มาก ฉันเพิ่งเปลี่ยนชื่อผู้ใช้และบางอย่างในไฟล์ Congig.inc.php ใน xamp ของฉันและมันทำงานบน PHPMyAdmin
Ahmed Adewale

26

วางคำสั่งนี้ในเทอร์มินัล

  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

โฮสต์ = us-cdbr-hirone-west- 06.cleardb.net

ชื่อฐานข้อมูล = 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);
});

ไชโย! MAGIC: http://makegif.com/g9yv.gif


4
ไม่รู้ว่าทำไมถึงถูกลดลงอย่างมาก .. createConnection ของคุณเคลียร์สิ่งต่างๆให้ฉัน ขอบคุณ :)
Nico

3
ควรระบุเหตุผลในการลงคะแนนเสียงด้วย นี่คือคำตอบที่ช่วยฉัน ขอบคุณครับพี่!
Anoop.PA

8

หากคุณใช้ mySQL workbench ให้ทำตาม schema นี้ ไปที่Heroku> การตั้งค่าแอปพลิเคชันของคุณ> Config 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 แล้วคลิกที่แท็บ "การตั้งค่า" จากนั้นคลิกปุ่มบนตัวเลือกที่สองที่ระบุว่า 'เปิดเผย config vars'

คุณควรจะพบรายการภายใต้ตัวแปร CLEARDB_DATABASE_URL อะไรทำนองนี้ ...

mysql: // [ชื่อผู้ใช้]: [รหัสผ่าน] @ [โฮสต์] / [ชื่อฐานข้อมูล]? reconnect = true

ดังนั้น [ส่วนโฮสต์] คือโฮสต์ของคุณ แน่นอนว่าส่วน [ชื่อฐานข้อมูล] เป็นชื่อฐานข้อมูลของคุณ

คุณยังคงต้องใช้ชื่อผู้ใช้และรหัสผ่านของคุณ กลับไปที่แท็บ 'ภาพรวม' ใน heroku ไปที่ส่วนเสริม ClearDB ในส่วนโปรแกรมเสริมที่ติดตั้งไว้ คลิกฐานข้อมูลที่คุณต้องการเข้าถึง (อาจมีเพียง 1 ตัวเลือกเท่านั้น) คลิกแท็บ "ข้อมูลระบบ" คุณควรเห็นชื่อผู้ใช้และรหัสผ่านของคุณ

นั่นควรเป็นทั้งหมดที่คุณต้องการเพื่อเข้าถึงฐานข้อมูลของคุณ ฉันใช้ sequel pro ฉันเพิ่งเสียบข้อมูลนั้น (ชื่อโฮสต์ลงในแท็บ 'มาตรฐาน' และฉันก็พร้อมที่จะไป


0

รายละเอียดทั้งหมดจะอยู่ใน URL heroku configของฐานข้อมูลที่สามารถพบได้ใน สมมติว่าคุณสามารถเชื่อมต่อกับ ClearDB ได้โดยตรง (ฉันไม่เคยลอง) สิ่งเหล่านี้ควรเป็นสิ่งที่คุณต้องการ ...


0

ทั้งหมดนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ใช้ heroku config | grep ตามที่อธิบายไว้ข้างต้นจากนั้นเพิ่มรายการอื่นใน config.inc.php ของฉันเพื่อใช้โดย phpMyAdmin และฉันสามารถเข้าถึงฐานข้อมูล cleardb ของฉันจากระยะไกล ช่วยให้ฉันไม่ต้องมี SQL ในเครื่องและใช้ postgres กับ Heroku



-1

ใช่คุณสามารถเชื่อมต่อกับ ClearDB ได้โดยตรงจริงๆแล้วฉันใช้ Workbench เพื่อเชื่อมต่อ จากนั้นคุณสามารถใช้ DB เดียวกันสำหรับ localhost และสำหรับ heroku


4
เป็นสิ่งที่ดีที่ทราบ แต่สิ่งนั้นจะช่วยให้ OP ค้นหาข้อมูลการเชื่อมต่อได้อย่างไร
Brad Koch

1
คุณพูดถูก แต่ฉันเพิ่งเพิ่มข้อมูลเพราะนีลมิดเดิลตันบอกว่า "สมมติว่าคุณสามารถเชื่อมต่อกับ ClearDB ได้โดยตรง" จากนั้นฉันก็ตอบว่าใช่เขาทำได้ ฉันขอโทษสำหรับการตอบบางสิ่งที่ไม่ได้ช่วยคำถามหลัก
Alisson Reinaldo Silva

ไม่ต้องห่วง. สิ่งต่างๆเช่นนี้เป็นสื่อแสดงความคิดเห็นที่ดีมาก แต่ดูเหมือนว่าคุณจะต้องมีตัวแทนอีกสองสามคนสำหรับสิ่งนั้น
Brad Koch

ฉันมี 0 ปัญหาในการเข้าใช้บริการ heroku แต่จากบริการไปยังฐานข้อมูลเป็นที่ที่ปัญหาอยู่ บู้ gettig "กด tcp 127.0.0.1:3306: getsockopt: connection ปฏิเสธ"
filthy_wizard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.