Desenvolvimento e bases de dados
MySQL remoto
Um cliente de bases de dados permite ligar a uma base de dados alojada no alojamento a partir do seu computador, sem ter de trabalhar a partir do cPanel ou do phpMyAdmin.
Os dados de ligação ao MySQL para este tipo de aplicações são:
- Servidor: o nome de anfitrião do servidor, o seu IP ou um domínio que aponte diretamente para o alojamento
- Porta: 3306
- Utilizador: o utilizador MySQL
- Palavra-passe: a palavra-passe do utilizador MySQL
- Base de dados: nome da base de dados (sobre a qual o utilizador deve ter permissões)
Uma aplicação alojada na mesma conta deve utilizar localhost como servidor MySQL e não precisa de ativar o acesso remoto. A autorização descrita a seguir só é necessária quando a ligação parte de outro servidor, de um escritório ou do seu próprio computador.
Não utilize como servidor um domínio que aponte para outra plataforma ou que esteja oculto atrás de um proxy como o Cloudflare: esse tráfego não é reencaminhado para a porta 3306 do alojamento. Nesse caso, utilize o nome de anfitrião do servidor ou o seu IP.
Autorizar uma ligação MySQL remota
Mesmo que os dados estejam corretos, o servidor rejeitará uma ligação externa se o seu endereço de origem não estiver autorizado.
Para permitir o acesso remoto, abra Remote Database Access no cPanel e adicione o IP a partir do qual se liga. Em versões anteriores do cPanel, esta secção chamava-se Remote MySQL.
Depois, verifique que o utilizador MySQL está associado à base de dados e tem apenas as permissões de que precisa. Autorizar um IP permite que essa origem tente ligar-se, mas não substitui o utilizador e a palavra-passe.
É possível fechar a porta MySQL 3306?
Nos nossos planos de alojamento cloud, o MySQL é um serviço gerido comum ao nó e a firewall é configurada ao nível do servidor. Por esse motivo, não é possível fechar a porta 3306 para uma só conta, alterá-la nem aplicar uma regra de rede personalizada a partir do cPanel.
A lista de origens autorizadas de Remote Database Access controla os acessos que gere a partir da conta. O servidor pode ter autorizações adicionadas pela administração: se vir uma entrada desconhecida ou se ela reaparecer depois de a apagar, contacte o suporte. O facto de a porta responder não demonstra que um utilizador se possa autenticar ou aceder a uma base de dados.
Se a política de segurança do seu projeto exigir que a porta não seja acessível a partir da Internet, uma firewall exclusiva ou controlo total sobre o MySQL, precisará de uma infraestrutura administrada por si, como um VPS ou um servidor dedicado. A Hostsuar não oferece atualmente esses serviços; pode consultar as diferenças entre um VPS e o nosso alojamento cloud antes de escolher o ambiente.
Recomendações de segurança
Autorize apenas o IP público exato a partir do qual se vai ligar e elimine as autorizações que já não utiliza. Se precisar de um intervalo empresarial, confirme antes o formato aceite pela versão do MySQL e do cPanel: nem todas aceitam a mesma notação. Não utilize %: exporia o acesso MySQL a tentativas a partir de qualquer origem e deixaria a palavra-passe como única barreira.
Se o seu IP for dinâmico ou se vários computadores tiverem de aceder, ligue-se primeiro através de uma VPN com saída fixa ou crie um túnel SSH, sem autorizar cada computador em Remote Database Access. Utilize também um utilizador diferente para cada aplicação ou pessoa, limitado à base de dados e às operações estritamente necessárias, e elimine a autorização remota quando o trabalho terminar.
Verificar a ligação e proteger o tráfego
Autorizar um IP não cifra a ligação. Utilize TLS com verificação do certificado quando o servidor e o seu cliente o suportarem, ou o túnel SSH para MySQL.
Se houver um timeout, verifique a saída de rede, o anfitrião e o IP público a partir do qual se liga. Se aparecer Access denied, reveja o nome completo do utilizador, a sua palavra-passe e a autorização de origem. Se a ligação funcionar mas não vir a base de dados, reveja a associação e os privilégios no cPanel. Não alargue a autorização a % para resolver um erro de credenciais.
Também lhe pode ser útil
- Ligação remota e segura ao servidor MySQL Proteja uma ligação MySQL remota através de um túnel SSH e configure em separado as credenciais SSH...
- Clonar uma base de dados Duplique uma base de dados MySQL criando primeiro o destino e as suas permissões no cPanel e copiand...
- Consultar a versão do MySQL e verificar a compatibilidade Identifique a versão real do servidor MySQL que a sua aplicação utiliza, reveja a compatibilidade e...
- Converter uma base de dados MyISAM para InnoDB, mudando o motor de armazenamento Converta tabelas MyISAM para InnoDB sobre um clone verificado, reveja o espaço, os índices e as linh...
Algo não bate certo ou mudou? Diga-nos e revemos.