ฉันจะทำการเชื่อมต่อระยะไกลกับฐานข้อมูล ClearDB MySQL บน heroku โดยใช้ MySQL Query Browser ได้อย่างไร จะหา url พอร์ตล็อกอินและรหัสผ่านได้ที่ไหน?
ฉันจะทำการเชื่อมต่อระยะไกลกับฐานข้อมูล ClearDB MySQL บน heroku โดยใช้ MySQL Query Browser ได้อย่างไร จะหา url พอร์ตล็อกอินและรหัสผ่านได้ที่ไหน?
คำตอบ:
ในเว็บไซต์ 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
คุณเรียกใช้ heroku config เพื่อรับCLEARDB_DATABASE_URL
และควรเป็นรูปแบบนี้:
CLEARDB_DATABASE_URL => mysql://[username]:[password]@[host]/[database name]?reconnect=true
โดยพื้นฐานแล้วคุณเพียงแค่ดู url ของคุณเองและรับสิ่งที่คุณต้องการจากที่นั่น นั่นคือวิธีตั้งค่า mysql workbench
วางคำสั่งนี้ในเทอร์มินัล
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
ฉันทำวิดีโออธิบายวิธีเชื่อมต่อกับ 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
หากคุณใช้ mySQL workbench ให้ทำตาม schema นี้ ไปที่Heroku> การตั้งค่าแอปพลิเคชันของคุณ> Config Varsและแสดง URL แบบยาว URL นั้นประกอบด้วยชื่อผู้ใช้รหัสผ่าน URL ของฐานข้อมูลและสคีมาเริ่มต้น วางข้อมูลทั้งหมดดังต่อไปนี้ด้านล่างและคุณจะสามารถเชื่อมต่อกับฐานข้อมูลได้สำเร็จ ไม่มีคำอธิบายที่แท้จริงเกี่ยวกับวิธีการเชื่อมต่อกับ ClearDB โดยใช้ mySQL workbench ในเธรดนี้ดังนั้นหวังว่าสิ่งนี้จะช่วยคนที่กำลังดิ้นรน
วางสิ่งนี้ภายในเทอร์มินัล:
heroku config | grep CLEARDB_DATABASE_URL
คุณสามารถใช้ซับเดียวนี้เพื่อเชื่อมต่อกับฐานข้อมูล 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`)
ไปที่แอปของคุณบน heroku แล้วคลิกที่แท็บ "การตั้งค่า" จากนั้นคลิกปุ่มบนตัวเลือกที่สองที่ระบุว่า 'เปิดเผย config vars'
คุณควรจะพบรายการภายใต้ตัวแปร CLEARDB_DATABASE_URL อะไรทำนองนี้ ...
mysql: // [ชื่อผู้ใช้]: [รหัสผ่าน] @ [โฮสต์] / [ชื่อฐานข้อมูล]? reconnect = true
ดังนั้น [ส่วนโฮสต์] คือโฮสต์ของคุณ แน่นอนว่าส่วน [ชื่อฐานข้อมูล] เป็นชื่อฐานข้อมูลของคุณ
คุณยังคงต้องใช้ชื่อผู้ใช้และรหัสผ่านของคุณ กลับไปที่แท็บ 'ภาพรวม' ใน heroku ไปที่ส่วนเสริม ClearDB ในส่วนโปรแกรมเสริมที่ติดตั้งไว้ คลิกฐานข้อมูลที่คุณต้องการเข้าถึง (อาจมีเพียง 1 ตัวเลือกเท่านั้น) คลิกแท็บ "ข้อมูลระบบ" คุณควรเห็นชื่อผู้ใช้และรหัสผ่านของคุณ
นั่นควรเป็นทั้งหมดที่คุณต้องการเพื่อเข้าถึงฐานข้อมูลของคุณ ฉันใช้ sequel pro ฉันเพิ่งเสียบข้อมูลนั้น (ชื่อโฮสต์ลงในแท็บ 'มาตรฐาน' และฉันก็พร้อมที่จะไป
รายละเอียดทั้งหมดจะอยู่ใน URL heroku config
ของฐานข้อมูลที่สามารถพบได้ใน สมมติว่าคุณสามารถเชื่อมต่อกับ ClearDB ได้โดยตรง (ฉันไม่เคยลอง) สิ่งเหล่านี้ควรเป็นสิ่งที่คุณต้องการ ...
ทั้งหมดนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ใช้ heroku config | grep ตามที่อธิบายไว้ข้างต้นจากนั้นเพิ่มรายการอื่นใน config.inc.php ของฉันเพื่อใช้โดย phpMyAdmin และฉันสามารถเข้าถึงฐานข้อมูล cleardb ของฉันจากระยะไกล ช่วยให้ฉันไม่ต้องมี SQL ในเครื่องและใช้ postgres กับ Heroku
ควรพิจารณารับข้อมูลประจำตัวของ vars ในการกำหนดค่า heroku (Config Vars):
CLEARDB_DATABASE_URL
ใช่คุณสามารถเชื่อมต่อกับ ClearDB ได้โดยตรงจริงๆแล้วฉันใช้ Workbench เพื่อเชื่อมต่อ จากนั้นคุณสามารถใช้ DB เดียวกันสำหรับ localhost และสำหรับ heroku