Ligar ao MySQL da sua conta com o MySQL Workbench

O MySQL Workbench é um programa que instala no seu computador para trabalhar na base de dados como quem trabalha numa folha de cálculo: ver tabelas, correr consultas, exportar, importar. É mais confortável do que o phpMyAdmin para quem passa lá horas, e é a ferramenta que um programador vai pedir.

A parte que costuma falhar não é o programa: é o caminho até ao servidor. Este artigo trata disso, e começa por lhe poupar uma tarde.

A ligação directa à porta da base de dados não costuma abrir de fora. A porta do MySQL não está exposta à internet por omissão, e isso é uma decisão de segurança, não uma avaria. Se meteu o endereço do servidor no Workbench e ele fica a pensar até desistir, não é a sua palavra-passe que está errada. O caminho que funciona é o túnel SSH, e é o que se descreve a seguir.

As três coisas de que precisa

Dado Onde o vai buscar
A base de dados No cPanel, em MySQL Databases. O nome completo leva o prefixo da sua conta à frente, e é esse nome completo que se escreve.
O utilizador da base Também em MySQL Databases. Não é o utilizador do cPanel. É uma conta à parte, criada só para a base, e tem de estar ligada à base com todos os privilégios.
A conta de SSH É a conta do cPanel, com a mesma palavra-passe. Só serve se o seu plano tiver acesso SSH ligado. Se não tiver, peça-nos.

Se ainda não tem base nem utilizador criados, o passo a passo está em criar bases de dados e usar o phpMyAdmin.

A ligação por túnel SSH, campo a campo

No Workbench, em vez de criar uma ligação normal, escolha o tipo Standard TCP/IP over SSH. Passa a haver dois blocos de campos: os do SSH, que são o caminho até à máquina, e os do MySQL, que são o que se faz depois de lá chegar.

Campo O que escrever
SSH Hostname O nome do servidor, seguido de dois pontos e de 2299. A porta de SSH aqui não é a 22, e esquecê-la é a causa número um de «não liga».
SSH Username O utilizador do cPanel.
SSH Password A palavra-passe do cPanel, ou uma chave, se preferir chaves.
MySQL Hostname 127.0.0.1. E isto confunde toda a gente: aqui já se está DENTRO do servidor, por isso o endereço é o do próprio servidor visto de dentro.
MySQL Server Port 3306.
Username O utilizador DA BASE DE DADOS, com o prefixo da conta.
Password A palavra-passe desse utilizador. Se não a tem, defina-a outra vez no cPanel: ela nunca é mostrada depois de criada.
Teste antes de gravar. O Workbench tem um botão de Test Connection que faz a ligação inteira e diz em que passo falhou. Se falhar no SSH, o problema é a conta ou a porta; se falhar no MySQL, é o utilizador da base. São dois problemas diferentes e cada um tem a sua cura.

E a ligação directa, sem túnel?

Existe, e há casos em que faz sentido: uma aplicação de escritório que liga sempre do mesmo escritório, por exemplo. Mas têm de estar duas coisas certas ao mesmo tempo, e não basta uma.

1 O seu endereço de IP tem de estar autorizado, no cPanel, em Remote MySQL. Sem isso o servidor recusa a ligação mesmo com a palavra-passe certa.
2 A porta tem de estar aberta ao exterior, e por omissão não está. Isto não se resolve no cPanel: fala connosco, dizemos-lhe se dá para o seu caso e o que implica.
3 O seu IP tem de ser fixo. Se muda de dia para dia, como quase todas as ligações domésticas, vai passar a vida a pô-lo outra vez na lista. Para saber qual é o seu, veja como descobrir o seu endereço de IP.

Posto lado a lado, o túnel ganha quase sempre: funciona de qualquer rede, não expõe a base a ninguém, e não precisa de autorização nenhuma da nossa parte.

O que costuma correr mal

O que vê O que é
Fica a pensar e desiste Quase de certeza tentou ligação directa em vez de túnel, ou escreveu a porta 22 no SSH em vez da 2299.
Access denied for user O utilizador da base está certo mas não foi ligado à base, ou foi ligado sem todos os privilégios. Volte a Add User To Database no cPanel.
Unknown database Faltou o prefixo da conta no nome. O nome completo é o que aparece na lista do cPanel, e não o que você escreveu quando a criou.
Aviso sobre a versão do servidor O servidor corre MariaDB, que o Workbench conhece mas nem sempre reconhece pelo número. O aviso é inofensivo: continue.
Ligava ontem e hoje não liga Se andava a usar ligação directa, o seu IP mudou. Se usa túnel e parou, pode ter sido o firewall a bloquear o seu IP por tentativas falhadas: veja porque é que o firewall bloqueia o seu IP.
Não edite dados a sério sem uma cópia à mão. O Workbench executa o que lhe mandar, sem perguntar segunda vez. Um UPDATE sem WHERE apaga a coluna toda em menos de um segundo. Faça a cópia primeiro: fazer e guardar a sua própria cópia.

Não sabe se a sua conta tem acesso SSH ligado? Pergunte-nos, que confirmamos e ligamos.

Abrir um pedido de suporte

VEJA TAMBÉM

Planos de hospedagem e o que cada um inclui

Política de Suporte: até onde vai a nossa ajuda

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 9,00 €/mês

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?