Conectar banco de dados Digital Ocean Remotamente

09/06/2020 às 11:46 Bruno Couty

Quando criamos um servidor LAMP na Digital Ocean, este vem com um banco de dados MySQL, cuja senha fica em: /root/.digitalocean_password

Conseguimos acessá-lo via ssh, no entanto, não é possível conectá-lo através de um cliente remoto (Navicat, Workbench...).

Para habilitar isso, siga os passos:

Acesse o banco via terminal a partir do login ssh:

mysql -uroot -p

Crie um banco de dados:

create database xpto;

Crie um usuário com as devidas e desejadas permissões para este banco:

CREATE USER 'novousuario'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'novousuario'@'%';
FLUSH PRIVILEGES;

O "%" é importante, pois ele indica que este usuário pode acessar o banco de qualquer lugar (remotamente).

Agora, será necessário editar o valor da variável "bind-address", em "/etc/mysql/mysql.conf.d/mysqld.cnf".

O valor que estará lá é: 127.0.0.1

Com este valor, o MySQL só aceitará conexões locais. Altere para: 0.0.0.0 e salve o arquivo.

Por fim, basta liberar o acesso a porta 3306:

sudo ufw allow 3306/tcp
sudo service ufw restart

Pronto, basta agora reiniciar o MySQL:

/etc/init.d/mysql restart