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.
|
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 |