Saltar para o conteúdo
Índice
Sites

Ligar à Sua Base de Dados Remotamente

Tradução automática. O original em inglês está disponível.

Onde encontrar as credenciais da sua base de dados, por que motivo as ligações remotas directas na porta 3306 são rejeitadas, e como ligar uma ferramenta de desktop através de um túnel SSH em alternativa.

Todos os sites de alojamento web da KapsuleHost com uma base de dados têm a sua própria base de dados, o seu próprio utilizador de base de dados, e credenciais que pode consultar em qualquer momento. O que não pode fazer é ligar-se a ela directamente pela internet, e isso é deliberado. Este guia aborda as credenciais, as duas formas de acesso suportadas, e como configurar o túnel de que as ferramentas de base de dados para desktop precisam.

Encontrar as Suas Credenciais

Vá a Websites, clique no site, depois Base de dados.

A página mostra cinco coisas:

CampoValor
Host127.0.0.1
Porta3306
Base de dadoso nome da sua base de dados
Nome de utilizadoro seu utilizador de base de dados
Palavra-passeocultada, com um botão para revelar e um botão para copiar

A palavra-passe não é uma revelação única. Pode voltar e lê-la sempre que precisar, por isso não há necessidade de a guardar separadamente.

O servidor de base de dados é MariaDB 10.11, que é compatível com MySQL. Isso é relevante de uma forma prática: um dump exportado de uma versão recente do MySQL pode conter collations que o MariaDB não reconhece, e a importação falhará com um erro de "unknown collation". Se isso acontecer, volte a exportar usando uma collation amplamente compatível como utf8mb4_unicode_ci, ou procure e substitua-a no ficheiro de dump antes de importar.

A aba Database de um site no KPanel, mostrando os detalhes de ligação à base de dados

Por Que Razão o Host É 127.0.0.1

127.0.0.1 significa "esta máquina". O servidor de base de dados apenas escuta na interface interna da própria máquina, e a porta 3306 também não está aberta à internet a nível da firewall. Não existe nenhuma opção no painel para a abrir, e não há nenhuma lista de IPs permitidos para isso.

Isto não é um descuido. Uma porta de base de dados exposta à internet é uma das coisas mais fiavelmente exploradas em alojamento: é constantemente sondada, revela informação de versão a quem se ligar, e uma única palavra-passe fraca faz-lhe perder o site inteiro. Mantê-la fechada elimina toda essa categoria de risco.

Por isso, uma string de ligação que use o endereço IP público do seu site e a porta 3306 falhará sempre, de qualquer lugar, em todos os planos. Existem, em alternativa, duas formas de acesso suportadas.

Opção 1: phpMyAdmin no Browser

A forma mais fácil para uma vista rápida, uma edição, ou uma pequena importação ou exportação.

Na página Database, clique em Abrir phpMyAdmin. É autenticado directamente com as credenciais do seu próprio site e vê apenas as suas próprias bases de dados.

O link que faz isto é deliberadamente de curta duração, e falha de formas que parecem erros mas não são:

  • Expira em 60 segundos. Clique nele logo que aparecer.
  • Funciona apenas uma vez. Voltar atrás e recarregar não funcionará; gere um novo.
  • Tem de ser aberto a partir do mesmo browser e da mesma rede a partir da qual o solicitou. Se copiar o link para outro dispositivo, ou se a sua ligação mudar de endereço a meio do processo, será rejeitado.

Se vir "This link has already been used" ou uma mensagem sobre uma incompatibilidade de IP, isso é a protecção a funcionar. Volte à página Database e clique no botão novamente.

Para trabalhar com o próprio phpMyAdmin, consulte Utilizar o phpMyAdmin.

Opção 2: Um Túnel SSH para Ferramentas de Desktop

Se quiser usar um cliente de desktop, este é o caminho suportado. O túnel abre uma ligação encriptada ao servidor e reencaminha uma porta na sua própria máquina através dela, de modo que o seu cliente se liga ao que parece ser uma base de dados local.

O Que Precisa Primeiro

Uma chave SSH no site. A autenticação por palavra-passe não é aceite, por isso este passo não é opcional.

  1. Vá a Websites, o site, Definições, depois Chaves SSH.
  2. Cole a chave pública que já usa, ou gere um novo par de chaves a partir do painel.
  3. Anote o nome de utilizador mostrado nessa página. É o utilizador de sistema do seu site, e é com ele que se liga.

Se gerar uma chave no painel, a chave privada é mostrada uma vez e nunca mais. Guarde-a imediatamente, e mantenha-a num local que só você consiga ler.

Também receberá um email sempre que uma chave for adicionada ao seu site. Isso é intencional. Se chegar um e não tiver sido você, revogue-a imediatamente nessa página e leia Se o Seu Site For Hackeado.

Consulte Adicionar Chaves SSH para o passo a passo completo.

Uma conta SFTP criada no separador SFTP não funcionará para um túnel. Essas contas são apenas para transferência de ficheiros, sem shell e sem reencaminhamento de portas. O tunneling requer o próprio utilizador SSH do site com uma chave. Consulte Acesso SFTP.

Abrir o Túnel

Num terminal na sua própria máquina:

ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com

Substitua your-ssh-user pelo nome de utilizador da página Chaves SSH. Decompondo isto:

  • -N significa não executar um comando, apenas manter o túnel aberto.
  • -L 3307:127.0.0.1:3306 reencaminha a porta 3307 na sua máquina para a porta 3306 no servidor.
  • A porta 3307 é usada em vez da 3306 para não entrar em conflito com uma base de dados que possa ter a correr localmente.

O comando não imprime nada quando funciona. Isso está correcto. Deixe a janela do terminal aberta durante todo o tempo que precisar da ligação, e pressione Ctrl+C para a fechar.

Ligar o Seu Cliente

Com o túnel aberto, aponte a sua ferramenta de base de dados para:

DefiniçãoValor
Host127.0.0.1
Porta3307
Nome de utilizadoro nome de utilizador da base de dados da página Database
Palavra-passea palavra-passe da base de dados da página Database
Base de dadoso nome da sua base de dados

Note a divisão: o nome de utilizador de SSH é o utilizador de sistema do seu site, e o nome de utilizador da base de dados é um diferente, obtido na página Database. Confundir os dois é, de longe, o erro mais comum aqui.

A maioria dos clientes de desktop também tem uma opção integrada de "ligar através de túnel SSH", que faz exactamente o descrito acima sem um terminal separado. Preencha o host SSH cp1-kapsule.kapsulehost.com, a porta 22, o seu nome de utilizador SSH, e o seu ficheiro de chave privada, depois os campos da base de dados como indicado acima.

Consulte Túnel SSH para a Base de Dados para a configuração específica de cada cliente.

Linha de Comandos no Servidor

Se se sentir confortável num terminal, não precisa mesmo de um túnel. Ligue-se por SSH e trabalhe directamente no servidor:

ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql

Isto é muito mais rápido do que extrair uma base de dados grande através de um túnel, e é a forma correcta de fazer um dump manual antes de uma alteração arriscada. Especificamente para WordPress, WP-CLI é geralmente ainda melhor.

Resolução de Problemas

"Connection refused" na porta 3306 a partir da sua própria máquina. Esperado. Ver acima. Use um túnel.

O comando do túnel pede uma palavra-passe. A sua chave não está a ser apresentada ou não está instalada. Verifique se a chave está na página Chaves SSH e adicione -i /path/to/your/private/key ao comando.

"Permission denied (publickey)". Nome de utilizador errado, ou chave errada. O nome de utilizador é o que consta na página Chaves SSH, não o seu email de login da KapsuleHost.

"Address already in use" para a porta 3307. Já há um túnel aberto, ou outra coisa está a usar essa porta. Fecha o outro, ou escolha uma porta local diferente, como 3308.

O túnel abre mas o cliente não consegue ligar-se. Confirme que o seu cliente está apontado para 127.0.0.1 e a porta local escolhida, não para o seu domínio.

"Access denied for user". Credenciais da base de dados, não de SSH. Revele e copie-as novamente a partir da página Database.

"Unknown collation" na importação. Abordado acima. Volte a exportar com uma collation compatível.

Tudo o que fizer num cliente de base de dados acontece imediatamente e não pode ser desfeito. Não há passo de confirmação nem reciclagem. Faça uma cópia de segurança antes de executar qualquer coisa que escreva dados. Consulte Fazer uma Cópia de Segurança.

Guias Relacionados

Isto foi útil?

É uma IA? Leia esta página em Markdown

Artigos relacionados

Ligar via SFTP: FileZilla, Cyberduck e Linha de ComandosSFTP (Secure File Transfer Protocol) dá-lhe acesso direto aos ficheiros do seu site no servidor. Este guia cobre tudo o que precisa para se ligar com sucesso,…Certificados SSL e HTTPSEste artigo explica o que é o SSL em linguagem simples, como o KapsuleHost gere o SSL automaticamente para os seus sites, e o que fazer caso ocorra algum…Sites Web: Por Onde ComeçarComo funciona o alojamento de sites na KapsuleHost, o que existe em cada separador de um site e qual o guia a ler para a tarefa que tem em mãos.…Monitorização do Tempo de Atividade do SiteTodos os sites na KapsuleHost são verificados automaticamente a cada 60 segundos, e o separador Uptime mostra-lhe o resultado: estado actual, percentagem de…

Ainda precisa de ajuda?

Pergunte à Kora, que conhece a sua conta, ou contacte a nossa equipa.

Contacte-nosSuporte por e-mail