MySQL Datenbank Dokumentation

Verknüpfe Deine Anwendungen mit einer MySQL Datenbank.

 

MySQL Datenbank

Bei cloudControl kann jedes Deployment eine hochverfügbare MySQL Datenbank nutzen.

Datenbank Addon hinzufügen oder entfernen

Eine MySQL Datenbank wird durch den Aufruf des addon.add Befehls hinzufügt:

$ cctrlapp app_name/dep_name addon.add mysql.free

Zur Zeit gibt es erst einmal nur das kostenlose mysql.free Paket. Später werden noch weitere Pakete in verschiedenen Größen hinzu kommen.

Die Addons können jederzeit auch wieder entfernt werden, wobei nur für die Zeit Kosten anfallen, in der das Addon dem Deployment hinzugefügt wurde:

$ cctrlapp app_name/dep_name addon.remove mysql.free

Replikation

Jede Deployment Datenbank ist mittels Master-Slave Replikation besonders ausfallsicher. Sollte der Master ausfallen, schaltet die Plattform automatisch auf den Slave um. Jede Applikation kann trotzdem immer einfach mit 'localhost' verbinden, um die Datenbank zu erreichen. Um den Rest kümmert sich die Plattform.

Cheat Sheet

Hol Dir das Cheat Sheet. Alle 'cctrlapp' und 'cctrluser' Befehle zusammengefasst auf einer DIN A4 Seite.

cheatsheet thumbnail

Jetzt downloaden!

Zugangsdaten

Intern

Datenbank Server 127.0.0.1
Datenbankname dep_id
Benutzername dep_id
Passwort password

 

 

 

Die Deployment ID (dep_id) und das Passwort können ganz einfach mittels

$ cctrlapp app_name/deployment_name addon mysql.free

angezeigt werden.

Achtung: Als Datenbank Server muss zwingend 127.0.0.1 angegeben werden. 'localhost' kann zur Zeit bei PHP nicht verwendet werden.

Extern

Auf den Datenbankservern ist ein stunnel Server aufgesetzt, damit verschlüsselt auf die Datenbank zugegriffen werden kann. Um diesen anzusprechen baut man zuerst mit stunnel eine verschlüsselte Verbindung auf. Der Server leitet diese dann automatisch an den MySQL Server weiter und der stunnel Client bindet sich an einen lokalen Port. Als Endpoint wird die Subdomain (app_name.cloudcontrolled.com) der Applikation angegeben. Dem MySQL Client muss nur mitgeteilt werden, dass er mit localhost und dem entsprechendem Port sprechen muss. Dies ermöglicht die volle Kontrolle über die Daten und das Datenbankschema. Die übrigen Zugangsdaten entsprechen dem internen Zugriff.

Anleitung, Beispiele und Downloads können auf der stunnel Webseite gefunden werden.

Nach Installation der entsprechenden Pakete kann man die Verbindung als normaler User mit

$ stunnel -c -d 4711 -r app_name.cloudcontrolled.com:3307 -P /tmp/stunnel.pid

aufbauen, wobei 4711 der lokale Port ist.

MySQL Client 

$ mysql -u dep_id -p -h 127.0.0.1 -P 4711 dep_id 

Ermöglicht Zugriff auf die Datenbank mittels des MySQL Kommandozeilen Clients.

MySQL Daten importieren oder exportieren

Über die Kommandozeile können Database Dumps einfach importiert oder exportiert werden. Dazu stehen die folgenden Befehle zur Verfügung:

$ mysql -u dep_id -p -h 127.0.0.1 -P 4711 dep_id < datenbank_dump

Importiert einen SQL-Dump aus der datenbank_dump.sql in die Datenbank des Deployments mit der dep_id auf der Plattform.

$ mysqldump -u dep_id -p -h 127.0.0.1 -P 4711 dep_id > datenbank_dump.sql

Erstellt einen MySQL-Dump der Datenbank des Deployments und speichert die Daten in der Datei datenbank_dump.sql.