Alojar a(s) base(s) de dados e as aplicações no mesmo servidor Web não é invulgar.
No entanto, dado o alargamento do âmbito das aplicações, muitas organizações estão a avançar para um ambiente mais distribuído. Um servidor de base de dados separado pode melhorar a segurança e permite-te escalar rapidamente os recursos. Compreender como lidar eficientemente com recursos e ligações remotas no ambiente distribuído tornou-se um requisito essencial de muitos projectos.
Imagina que fazes parte de uma grande equipa de programadores com várias funções, a trabalhar em grandes produtos de software com esquemas e ligações a bases de dados complexas.
Tens de trabalhar com consultas SQL e criar uma ligação remota a partir de vários locais. Para ativar a ligação remota do MySQL, tens de conceder acesso remoto ao MySQL no teu servidor de alojamento e colocar na lista branca os IPs dos pontos de ligação de entrada.
Embora este seja um processo simples, não é muito seguro. Uma melhor abordagem é adicionar programadores como membros da equipa ao nível da solução de alojamento e, em seguida, permitir-lhes utilizar o suporte MySQL para ligações remotas para se ligarem à base de dados remotamente. Isto cria um ambiente seguro onde os programadores remotos podem trabalhar com uma base de dados centralizada.
Neste artigo, vou demonstrar dois métodos de ligação a um servidor remoto MySQL para trabalhares remotamente de forma eficiente.
Método 1: Liga-te à base de dados MySQL remota a partir da linha de comandos
Método 2: Ativar a ligação MySQL remota utilizando a plataforma Cloudways
Na plataforma de hospedagem PHP da Cloudways, é possível habilitar facilmente o acesso remoto ao MySQL seguindo as poucas etapas descritas neste artigo. Por padrão, o Cloudways não permite o acesso ao MySQL de hosts remotos devido aos riscos de segurança inerentes aos servidores e aplicativos.
Melhora a velocidade da tua aplicação PHP em 300%
Cloudways oferece-te servidores dedicados com armazenamento SSD, desempenho personalizado, uma pilha otimizada e muito mais para tempos de carregamento 300% mais rápidos.
Como ativar a ligação MySQL remota utilizando a linha de comandos
Para ligares a base de dados MySQL remota através da linha de comandos, basta seguires os passos indicados abaixo.
Abre o terminal SSH da Cloudways e fornece o nome e a senha do banco de dados do aplicativo usando o seguinte comando:
mysql -u NOME DE USUÁRIO -p
No prompt Enter Password, digita a senha. Quando digita a senha correta, aparece o prompt mysql>.

Depois de ativar o acesso remoto ao MySQL, basta escrever o seguinte comando para obter a lista de todas as bases de dados:
mostra as bases de dados;

ativa o acesso remoto ao MySQL
Para permitir o acesso remoto à base de dados MySQL, escreve o seguinte comando na linha de comandos mysql>, substituindo DBNAME pela base de dados a que pretendes aceder:
utiliza DBNAME;

Depois de te ser concedido o acesso remoto ao MySQL, podes executar consultas SQL, listar tabelas e realizar outras tarefas. Para ver uma lista de comandos MySQL, escreve help na linha de comandos mysql>.
Para sair do programa MySQL, digita \q no prompt mysql>.
Concede acesso remoto à base de dados MySQL
Para conceder acesso a um utilizador de um anfitrião remoto, tens de seguir estes passos. Inicia sessão no servidor MySQL localmente, como o utilizador raiz, utilizando o seguinte comando:
mysql -u root -p

Utiliza um comando GRANT no seguinte formato para permitir o acesso do utilizador remoto. Certifica-te de que alteras 1.2.3.4 para o endereço IP que obtiveste anteriormente. Deves também alterar my_password para a palavra-passe que pretendes utilizar para “demoemployee”.
mysql> GRANT ALL ON demoDatabase.* TO demoemployee@'1.5.6.4' IDENTIFIED BY 'my_password';
DICA: Revoga o acesso remoto à base de dados MySQL
Se concedeste acidentalmente acesso a um utilizador, podes revogar o acesso muito facilmente.
O seguinte comando irá revogar todas as opções de acesso para USERNAME de todas as máquinas:
mysql> REVOGA TODOS OS PRIVILÉGIOS, CONCEDE OPÇÃO DE ‘NOME DE USUÁRIO’@’%’;
A seguir, revoga todas as opções para USERNAME de um determinado IP:
mysql> REVOGA TODOS OS PRIVILÉGIOS, CONCEDE OPÇÃO DE ‘NOME DE USUÁRIO’@’1.2.3.4’;
É melhor verificares a tabela information_schema.user_privileges depois de executares o comando REVOKE para confirmares que a ação de revogação actualizou os direitos de acesso.
Como habilitar a conexão MySQL remota usando a plataforma Cloudways
- Passo 1: Adiciona um programador como membro da equipa
- Passo 2: Coloca os IPs na lista branca
- Passo 3: Aplica a configuração de acesso remoto
- Passo 4: Ligação do cliente MySQL
Adicionar um programador como membro da equipa
Na Cloudways, há duas maneiras de dar acesso aos desenvolvedores. A primeira é dar-lhes acesso SFTP. A segunda é adicioná-los como um membro da equipe para que eles se sintam confortáveis e possam ser mais independentes com seus servidores e aplicativos. Para permitir o acesso remoto ao MySQL, a melhor opção é adicionar primeiro o teu programador como membro da equipa, antes de conceder as permissões e colocar o seu IP público na lista branca.
Nota: Apenas os proprietários da conta podem criar membros da equipe. Se um endereço de e-mail já estiver associado a uma conta Cloudways (Trial ou Full), ele não poderá ser usado como uma conta de membro da equipe.
Basta entrar na plataforma Cloudways com as tuas credenciais e clicar na legenda “equipa” no menu superior.

Agora, clica no ícone Adicionar na barra de menu superior e escolhe Adicionar membro.

Fornece o nome e o endereço de correio eletrónico do membro da tua equipa e seleciona o título da função no menu pendente. Uma vez feito isso, define o seu estado como Ativo.

Lista branca do IP do programador
O passo seguinte é encontrar o teu IP público e adicioná-lo ao servidor visado. Depois, passa para a página de detalhes de acesso ao servidor e clica na opção segurança segurança. Adiciona o endereço IP à secção “Adicionar IP à lista branca” e clica no botão “Adicionar” e clica no botão “Adicionar”. Podes utilizar este método para adicionar vários endereços IP, se necessário. Depois disso, basta clicares no botão guardar botão.
Também podes usar sites como
whatismyip
para encontrar o teu IP público.

Aplica as configurações de acesso remoto
Ao colocares o teu IP na lista branca, podes copiar as credenciais da tua base de dados da página de detalhes de acesso à aplicação e adicioná-las ao teu código de ligação PHP desta forma:
<?php
função getdb(){
$servername = "46.101.5.233"; // coloca aqui o IP do teu servidor cloudways
$username = "qxxfumxxxbd";
$password = "xxxxbQxxmM";
$db = "qxxfumxxxbd";
tenta {
$conn = mysqli_connect($servername, $username, $password, $db);
//echo "Ligado com sucesso";
}
catch(exceção $e)
{
echo "A ligação falhou: " . $e->getMessage();
}
devolve $conn;
}
Como podes ver acima, eu adicionei o endereço IP do servidor Cloudways na conexão do host. Isso é tudo o que precisas para conceder acesso remoto ao MySQL. Estás então pronto para criar consultas e manipular a base de dados.
Ligação do cliente MYSQL
Na explicação acima, expliquei como configurar uma conexão remota do MySQL na Cloudways e depois usá-la no teu código. Às vezes, no entanto, precisas usar clientes MySQL para trabalhar com bancos de dados. Também podes ligar clientes como o SQLYOG e o Mysql workbench. No SQLyog, só precisas passar o IP do servidor Cloudways e as credenciais do banco de dados para criar a conexão DB.

Verás agora que a tua base de dados está ligada ao SQLyog.

P: Como fornecer acesso remoto a uma base de dados MySQL existente?
R: Os seguintes comandos concederão acesso remoto a um utilizador a uma base de dados existente:
update db set Host=’136.157.33.109′ where Db=’yourDBname’;
atualizar utilizador set Host=’136.157.33.109′ where user=’user1′;
User1 pode agora aceder a yourDBname a partir de uma localização remota identificada pelo IP 136.157.33.109
Q: Porque é que o acesso remoto do servidor de base de dados MySQL está desativado por defeito?
R: O acesso remoto ao servidor da base de dados MySQL está desativado por motivos de segurança.
P: Como posso testar a ligação remota da base de dados MySQL?
R: Utiliza o comando:
mysql -h HOST -u USERNAME -p PASSWORD
Através da shell MySQL, não te esqueças de executar o comando show databases para garantir que tens os privilégios certos na máquina remota.
Melhora a velocidade da tua aplicação PHP em 300%
Cloudways oferece-te servidores dedicados com armazenamento SSD, desempenho personalizado, uma pilha otimizada e muito mais para tempos de carregamento 300% mais rápidos.
Palavras finais
A Cloudways fornece uma maneira fácil para os desenvolvedores e proprietários de empresas de software trabalharem com tranquilidade e se concentrarem no projeto à sua frente. Tal como ativar a ligação remota MySQL, também podes concluir muitas outras acções com apenas alguns cliques, como instalar certificados SSL, CDN, gestão de DNS, etc. Tudo o que tens de fazer para aceder a tudo o que temos para te oferecer é inscreveres-te, onde poderás lançar os teus servidores e aplicações sem problemas, graças a este guia simples!
Shahzeb Ahmed
Um criativo de dia (com uma chávena de chá) e um criativo de noite. Ahmad Kamran é um escritor de conteúdos sazonais e Executivo de Marketing Sénior na Cloudways. Podes encontrá-lo na sua secretária a escrever, a criar estratégias ou a jogar jogos. E, caso não o encontres aqui, ele estará nas montanhas ou à beira do rio.