Verbindung mit einem Dolt-Server

Beadbox kann sich mit einem laufenden Dolt-SQL-Server verbinden und bietet so Mehrbenutzerzugriff und Team-Workflows auf Basis derselben beads-Datenbanken, die Sie vom CLI verwenden.

Erfordert Beadbox 0.15.0+ Prüfen Sie Ihre Version unter Einstellungen > Über oder auf /api/version.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie drei laufende Komponenten:

KomponenteMindestversionPrüfen
beads CLI (bd)0.58.0+bd --version
Dolt-ServerLäuft und akzeptiert Verbindungendolt sql-server in Ihrem Projekt
Beadbox0.15.0+Einstellungen > Über

Ihr Dolt-Server muss mindestens eine mit bd init erstellte Datenbank enthalten. Beadbox erkennt alle Benutzerdatenbanken auf dem Server (Systemdatenbanken wie information_schema werden ausgeschlossen).

Schnellstart (lokal, ohne Authentifizierung)

Der schnellste Weg: Ein Dolt-Server auf Ihrem eigenen Rechner ohne konfigurierte Authentifizierung.

1. Dolt-Server starten

cd ~/Projects/myproject
bd dolt start

bd startet Dolt auf einem vom Betriebssystem zugewiesenen Port und speichert ihn in .beads/dolt-server.port. Der Port wird in der Terminal-Ausgabe angezeigt. Wenn Sie stattdessen dolt sql-server direkt ausführen, ist der Standardport 3307.

2. Beadbox öffnen

Klicken Sie in der Workspace-Auswahl auf Bestehenden Workspace verwenden (oder finden Sie die Erweitert-Karte auf dem Willkommensbildschirm bei Ihrem ersten Start).

Tip: Alternativ können Sie auf Server suchen klicken, um laufende Dolt-Server auf localhost automatisch zu erkennen. Wenn Ihr Server gefunden wird, füllt Beadbox Host und Port automatisch für Sie aus.

3. Verbindungsdetails eingeben

Host127.0.0.1 (vorausgefüllt)
PortPrüfen Sie die Terminal-Ausgabe von bd dolt start, oder schauen Sie in .beads/dolt-server.port
Benutzerroot (vorausgefüllt)
Passwortleer lassen
TLSdeaktiviert

4. Auf "Datenbanken ermitteln" klicken

Beadbox verbindet sich mit dem Server und führt SHOW DATABASES aus, um alle Benutzerdatenbanken zu finden.

5. Datenbanken auswählen

Der Ermittlungsbildschirm listet jede gefundene beads-Datenbank auf dem Server auf. Markieren Sie diejenigen, die Sie als Workspaces hinzufügen möchten. Jede erhält einen lokalen Verzeichnispfad.

6. Auf "Workspaces hinzufügen" klicken

Wenn Sie ein lokales Projektverzeichnis mit .beads/ haben, aktualisiert Beadbox dessen metadata.json mit den Server-Verbindungsdetails. Wenn Sie sich mit einem Remote-Server ohne lokales Projekt verbinden, erstellt Beadbox einen Stub-Workspace unter ~/.beadbox/servers/ mit einer eigenen metadata.json. In beiden Fällen wird der Workspace registriert und sofort geöffnet.

Sie sind verbunden. Änderungen über bd im CLI oder von anderen Teammitgliedern, die auf denselben Dolt-Server schreiben, erscheinen innerhalb weniger Sekunden in Beadbox (Server-Modus fragt Änderungen im 2-Sekunden-Takt ab).

Verbindung mit Authentifizierung

Falls Ihr Dolt-Server Benutzername und Passwort erfordert:

  1. Folgen Sie denselben Schritten wie beim Schnellstart, füllen Sie aber die Felder Benutzer und Passwort mit Ihren Dolt-Server-Zugangsdaten aus.
  2. Falls TLS erforderlich ist (üblich bei Remote-Servern), aktivieren Sie das Kontrollkästchen TLS verwenden.
  3. Klicken Sie auf Datenbanken ermitteln und fahren Sie mit der Erkennung fort.

Umgang mit Passwörtern

  • Passwörter werden nur im Arbeitsspeicher gehalten. Beadbox schreibt Ihr Passwort niemals auf die Festplatte.
  • Beim Neustart von Beadbox geht das Passwort verloren. Setzen Sie BEADS_DOLT_PASSWORD in Ihrem Shell-Profil, um es nicht bei jedem Start neu eingeben zu müssen (siehe Passwort dauerhaft speichern).
  • Intern übergibt Beadbox das Passwort bei jedem Subprozess-Aufruf über die Umgebungsvariable BEADS_DOLT_PASSWORD an das bd CLI.

Gehostetes Dolt und Remote-Server

Für Dolt-Server auf einem entfernten Rechner, einer Cloud-VM oder Hosted Dolt:

  1. Host: Geben Sie den Hostnamen oder die IP-Adresse Ihres Servers ein.
  2. Port: Verwenden Sie den von Ihrem Anbieter angegebenen Port. Hosted Dolt verwendet üblicherweise 3306.
  3. Benutzer/Passwort: Geben Sie die Zugangsdaten Ihres Anbieters ein.
  4. TLS: Aktivieren Sie "TLS verwenden" (erforderlich für Hosted Dolt und empfohlen für jede Remote-Verbindung).
  5. Klicken Sie auf Datenbanken ermitteln und fahren Sie wie gewohnt fort.

Passwort dauerhaft speichern

Beadbox hält Passwörter nur im Arbeitsspeicher, sodass sie beim Neustart verloren gehen. Für jeden Server mit Authentifizierung (lokal oder remote) können Sie die erneute Eingabe vermeiden, indem Sie es in Ihrem Shell-Profil setzen:

export BEADS_DOLT_PASSWORD="your-password-here"

Beadbox erkennt dies automatisch für alle Server-Modus-Workspaces. Das Passwortfeld in der Oberfläche hat Vorrang, falls beide gesetzt sind.

So funktioniert es

Wenn Sie einen Server-Workspace hinzufügen, führt Beadbox drei Schritte aus:

1. Verbindungsmetadaten schreiben

Es schreibt eine .beads/metadata.json mit den Server-Verbindungsdetails. Bei lokalen Projekten liegt diese Datei im Projektverzeichnis. Bei reinen Server-Verbindungen (kein lokales Projekt) wird sie unter ~/.beadbox/servers/ gespeichert.

{
  "dolt_mode": "server",
  "dolt_server_host": "127.0.0.1",
  "dolt_server_port": 13842,
  "dolt_database": "myproject",
  "dolt_server_user": "root",
  "database": "dolt"
}

Bei aktiviertem TLS wird ein Schlüssel "dolt_server_tls": true hinzugefügt. Diese Datei weist bd an, sich mit einem Remote-Server zu verbinden, anstatt einen lokalen automatisch zu starten. Das Passwort fehlt absichtlich in dieser Datei.

2. Workspace registrieren

Der Workspace wird in ~/.beadbox/registry.json eingetragen, damit Beadbox und bd ihn bei zukünftigen Starts finden können.

3. Zugangsdaten zur Laufzeit übergeben

Jedes Mal, wenn Beadbox einen bd-Befehl für diesen Workspace aufruft, setzt es BEADS_DOLT_PASSWORD in der Subprozess-Umgebung. Das Passwort existiert nur im Prozessspeicher.

Fehlerbehebung

Verbindung abgelehnt

Error: connect ECONNREFUSED 127.0.0.1:<port>
  • Läuft Dolt? Prüfen Sie mit ps aux | grep dolt oder versuchen Sie dolt sql-server im Projektverzeichnis.
  • Richtiger Port? Wenn Sie Dolt über bd dolt start gestartet haben, wird der Port in .beads/dolt-server.port gespeichert. Prüfen Sie diese Datei für den aktuellen Wert. dolt sql-server direkt verwendet standardmäßig 3307.
  • Firewall? Stellen Sie bei Remote-Servern sicher, dass der Port für eingehende Verbindungen geöffnet ist.

Zugriff verweigert

Error: Access denied for user 'root'
  • Passwort erforderlich? Ihr Dolt-Server hat möglicherweise Authentifizierung aktiviert. Geben Sie das Passwort im Verbindungsformular ein.
  • Falscher Benutzer? Überprüfen Sie, ob der Benutzername einem Dolt-Benutzer mit Lesezugriff entspricht.
  • Falsches Passwort? Passwörter werden zwischen Sitzungen nicht gespeichert. Geben Sie es nach einem Neustart von Beadbox erneut ein.

TLS-Handshake fehlgeschlagen

Error: TLS handshake failed
  • TLS-Kontrollkästchen stimmt nicht überein. Falls der Server TLS erfordert, aktivieren Sie "TLS verwenden". Falls er kein TLS unterstützt, deaktivieren Sie es. Eine falsche Einstellung in beide Richtungen verursacht einen Handshake-Fehler.
  • Selbstsignierte Zertifikate. Falls Ihr Dolt-Server ein selbstsigniertes Zertifikat verwendet, müssen Sie die CA möglicherweise in Ihren System-Vertrauensspeicher aufnehmen. Das bd CLI verwendet den System-Root-CA-Pool und lehnt nicht vertrauenswürdige Zertifikate ab.

Keine Datenbanken gefunden

No databases found on 127.0.0.1:<port>.
Verify the Dolt server has at least one database created with bd init.
  • Namenskonvention. Stellen Sie sicher, dass bd init in mindestens einem Projektverzeichnis ausgeführt wurde. Die Datenbank sollte in SHOW DATABASES auf Ihrem Dolt-Server erscheinen.
  • Datenbank vorhanden, aber nicht sichtbar? Das Benutzerkonto hat möglicherweise keine Berechtigung, alle Datenbanken zu sehen.
  • Frischer Server? Falls Sie Dolt gerade erst ohne beads-Initialisierung gestartet haben, gibt es noch keine beads-Datenbanken. Führen Sie bd init in einem Projektverzeichnis aus und versuchen Sie die Erkennung erneut.