Conectando a um Servidor Dolt

O Beadbox pode se conectar a um servidor Dolt SQL em execução, oferecendo acesso multi-escritor e fluxos de trabalho em equipe sobre os mesmos bancos de dados beads que você usa pelo CLI.

Requer Beadbox 0.9.12+ Verifique sua versão em Configurações > Sobre ou em /api/version.

Pré-requisitos

Antes de começar, você precisa de três coisas funcionando:

ComponenteVersão MínimaVerificar
CLI beads (bd)0.56.x+bd --version
Servidor DoltEm execução e aceitando conexõesdolt sql-server no seu projeto
Beadbox0.9.12+Configurações > Sobre

Seu servidor Dolt deve ter pelo menos um banco de dados seguindo a convenção de nomenclatura beads_. Isso é o que o beads cria quando você executa bd init com modo Dolt. O Beadbox usa esse prefixo para descobrir bancos de dados beads e ignorar os não relacionados.

Início Rápido (local, sem autenticação)

O caminho mais rápido: um servidor Dolt na sua própria máquina sem autenticação configurada.

1. Inicie seu servidor Dolt

cd ~/Projects/myproject
dolt sql-server

O Dolt escuta na porta 3307 por padrão.

2. Abra o Beadbox

No seletor de workspace, clique em Adicionar por servidor (ou encontre o cartão Avançado na tela de boas-vindas se for sua primeira execução).

3. Insira os detalhes da conexão

Host127.0.0.1 (pré-preenchido)
Porta3307 (pré-preenchido)
Usuárioroot (pré-preenchido)
Senhadeixe vazio
TLSdesmarcado

4. Clique em "Descobrir Bancos de Dados"

O Beadbox se conecta ao servidor e executa SHOW DATABASES para encontrar todos os bancos de dados que correspondem ao padrão beads_*.

5. Selecione os bancos de dados

A tela de descoberta lista todos os bancos de dados beads encontrados no servidor. Marque os que você quer adicionar como workspaces. Cada um recebe um caminho de diretório local.

6. Clique em "Adicionar Workspaces"

O Beadbox cria o diretório local .beads/ com um metadata.json apontando para seu servidor, registra o workspace e o abre.

Você está conectado. Alterações feitas pelo bd no CLI ou por outros membros da equipe escrevendo no mesmo servidor Dolt aparecerão no Beadbox em alguns segundos (o modo servidor faz polling de alterações em intervalos de 1 segundo).

Conectando com Autenticação

Se seu servidor Dolt requer usuário e senha:

  1. Siga os mesmos passos do Início Rápido, mas preencha os campos Usuário e Senha com as credenciais do seu servidor Dolt.
  2. Se TLS for necessário (comum para servidores remotos), marque a caixa Usar TLS.
  3. Clique em Descobrir Bancos de Dados e prossiga com a descoberta.

Como as senhas são tratadas

  • As senhas ficam apenas na memória. O Beadbox nunca grava sua senha em disco.
  • Quando o Beadbox reinicia, a senha é perdida. Para evitar digitá-la a cada inicialização, defina BEADS_DOLT_PASSWORD no perfil do seu shell (veja Persistindo a Senha).
  • Por baixo dos panos, o Beadbox passa a senha para o CLI bd através da variável de ambiente BEADS_DOLT_PASSWORD em cada invocação de subprocesso.

Dolt Hospedado e Servidores Remotos

Para servidores Dolt rodando em uma máquina remota, VM na nuvem ou Hosted Dolt:

  1. Host: Insira o hostname ou IP do seu servidor.
  2. Porta: Use a porta especificada pelo seu provedor. Hosted Dolt geralmente usa 3306.
  3. Usuário/Senha: Insira as credenciais do seu provedor.
  4. TLS: Marque "Usar TLS" (obrigatório para Hosted Dolt e recomendado para qualquer conexão remota).
  5. Clique em Descobrir Bancos de Dados e prossiga normalmente.

Persistindo a Senha

O Beadbox mantém as senhas apenas na memória, então elas são perdidas ao reiniciar. Para qualquer servidor que requer autenticação (local ou remoto), você pode pular a reentrada da senha configurando-a no perfil do seu shell:

export BEADS_DOLT_PASSWORD="your-password-here"

O Beadbox reconhece isso automaticamente para todos os workspaces em modo servidor. O campo de senha da interface tem precedência se ambos estiverem definidos.

Como Funciona

Quando você adiciona um workspace de servidor, o Beadbox faz três coisas:

1. Grava metadados de conexão

Ele cria um .beads/metadata.json no diretório local do projeto com os detalhes da conexão do servidor:

{
  "dolt_mode": "server",
  "dolt_server_host": "127.0.0.1",
  "dolt_server_port": 3307,
  "dolt_database": "beads_myproject",
  "dolt_server_user": "root",
  "database": "dolt"
}

Quando TLS está habilitado, uma chave "dolt_server_tls": true é adicionada. Este arquivo diz ao bd para conectar a um servidor remoto em vez de usar um banco de dados local embutido. A senha é intencionalmente omitida deste arquivo.

2. Registra o workspace

O diretório local é adicionado ao ~/.beads/registry.json para que o Beadbox e o bd possam encontrá-lo em futuras execuções.

3. Passa credenciais em tempo de execução

Toda vez que o Beadbox invoca um comando bd para este workspace, ele define BEADS_DOLT_PASSWORD no ambiente do subprocesso. A senha existe apenas na memória do processo.

Solução de Problemas

Conexão recusada

Error: connect ECONNREFUSED 127.0.0.1:3307
  • O Dolt está rodando? Verifique com ps aux | grep dolt ou tente dolt sql-server no diretório do projeto.
  • Porta correta? O Dolt usa a porta 3307 por padrão, mas você pode ter configurado uma porta diferente.
  • Firewall? Em servidores remotos, certifique-se de que a porta está aberta para conexões de entrada.

Acesso negado

Error: Access denied for user 'root'
  • Senha necessária? Seu servidor Dolt pode ter autenticação habilitada. Insira a senha no formulário de conexão.
  • Usuário errado? Verifique se o nome de usuário corresponde a um usuário Dolt com acesso de leitura.
  • Senha errada? As senhas não são salvas entre sessões. Digite-a novamente após reiniciar o Beadbox.

Falha no handshake TLS

Error: TLS handshake failed
  • Divergência na opção TLS. Se o servidor requer TLS, marque "Usar TLS". Se não suporta TLS, desmarque. Ter isso errado em qualquer direção causa falha no handshake.
  • Certificados autoassinados. Se seu servidor Dolt usa um certificado autoassinado, você pode precisar adicionar a CA ao repositório de confiança do sistema. O CLI bd usa o pool de CA raiz do sistema e rejeitará certificados não confiáveis.

Nenhum banco de dados encontrado

No beads databases found on 127.0.0.1:3307.
Databases must follow the beads_* naming pattern.
  • Convenção de nomenclatura. O Beadbox só descobre bancos de dados cujos nomes começam com beads_. Se seu banco tem outro nome, renomeie-o ou crie um novo com bd init usando modo Dolt.
  • Banco de dados existe mas não aparece? A conta de usuário pode não ter permissão para ver todos os bancos de dados.
  • Servidor novo? Se você acabou de iniciar o Dolt sem inicializar o beads, não existem bancos de dados beads ainda. Execute bd init em um diretório de projeto com modo Dolt configurado, depois tente a descoberta novamente.