Permitir acesso remoto ao servidor de banco de dados Oracle MySQL no Ubuntu 18.04

  • Andrew Politic
  • 0
  • 1785
  • 269

Este breve tutorial mostra aos alunos e novos usuários como configurar a conexão de acesso remoto aos servidores de banco de dados MySQL em sistemas Ubuntu 18.04…

Nosso tutorial anterior mostrou como habilitar o acesso remoto ao servidor de banco de dados MariaDB ... Visto que esses são dois servidores de banco de dados separados (mas também iguais em alguns aspectos), algumas configurações podem ser diferentes ...

Por padrão, quando você instala o servidor de banco de dados MySQL, ele só aceita conexões com seu host local ... O mesmo computador host em que está instalado ...

Se quiser se conectar a partir de um computador cliente remoto de um local remoto, você não poderá conectar bancos de dados configurados no servidor ... Este breve guia mostra como habilitar isso ...

Quando configurado corretamente, você será capaz de se conectar aos servidores de banco de dados de sistemas remotos e aplicativos não conectados à mesma sub-rede ou computador host ...

Se o servidor estiver conectado ao diretório da Internet, você poderá acessá-lo de qualquer lugar do mundo onde o acesso à Internet estiver disponível ... no entanto, abrir seus servidores de banco de dados diretamente para a Internet não é recomendado, especialmente em um ambiente de produção ...

Quando estiver pronto para configurar o acesso remoto ao banco de dados, continue abaixo.

Etapa 1: instalar o servidor de banco de dados MySQL

Se você não instalou o servidor MySQL e está procurando um servidor de banco de dados de código aberto verdadeiramente, o MySQL é um ótimo lugar para começar ... Para instalar o MySQL, basta executar os comandos abaixo:

sudo apt update sudo apt install mysql-server mysql-client

Depois de instalar o MySQL, os comandos abaixo podem ser usados ​​para parar, iniciar e habilitar o serviço MySQL para sempre inicializar quando o servidor for inicializado ...

Execute-os no Ubuntu 18.04 LTS

sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl enable mysql.service 

Em seguida, execute os comandos abaixo para proteger o servidor de banco de dados com uma senha de root se você não for solicitado a fazê-lo durante a instalação ...

sudo mysql_secure_installation

Quando solicitado, responda às perguntas abaixo seguindo o guia.

Protegendo a implantação do servidor MySQL.

Conectando-se ao MySQL usando uma senha em branco.

VALIDATE PASSWORD PLUGIN pode ser usado para testar senhas
e melhorar a segurança. Ele verifica a força da senha
e permite que os usuários definam apenas as senhas que são
seguro o suficiente. Deseja configurar o plugin VALIDATE PASSWORD?

  • Pressione y | Y para Sim, qualquer outra tecla para Não: N
  • Nova senha: Criar nova senha
  • Digite novamente a nova senha: Repita a nova senha
  • Remover usuários anônimos? (Pressione y | Y para Sim, qualquer outra tecla para Não): Y
  • Desautorizar login de root remotamente? (Pressione y | Y para Sim, qualquer outra tecla para Não): Y
  • Remover banco de dados de teste e acesso a ele? (Pressione y | Y para Sim, qualquer outra tecla para Não): Y
  • Recarregar tabelas de privilégios agora? (Pressione y | Y para Sim, qualquer outra tecla para Não): Y

Agora que o MySQL está instalado, para testar se o servidor de banco de dados foi instalado com sucesso, execute os comandos abaixo ...

sudo mysql -u root -p

digite a senha de root quando solicitado ...

Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \ g. Seu ID de conexão do MySQL é 4 Versão do servidor: 5.7.27-0ubuntu0.18.04.1 (Ubuntu) Copyright (c) 2000, 2019, Oracle e / ou suas afiliadas. Todos os direitos reservados. Oracle é uma marca registrada da Oracle Corporation e / ou de suas afiliadas. Outros nomes podem ser marcas registradas de seus respectivos proprietários. Digite 'help;' ou '\ h' para obter ajuda. Digite '\ c' para limpar a instrução de entrada atual. mysql> 

Se você vir linhas semelhantes às mostradas acima, o servidor foi instalado com sucesso ...

Etapa 2: configurar o acesso remoto MySQL

Como mencionamos acima, todo acesso remoto ao servidor é negado por padrão ... Para habilitar o acesso remoto, você precisará definir o endereço de ligação para permitir o acesso remoto ...

Por exemplo, para permitir que todos IPv4 endereços, defina o endereço de ligação para: 0.0.0.0 Isso permitirá que o servidor MySQL aceite conexões em todas as interfaces IPv4 do host ... Se você tiver IPv6 configurado em seu sistema, use ::

Em sistemas Ubuntu com servidor de banco de dados MySQL instalado, seu arquivo de configuração padrão está localizado em: /etc/mysql/mysql.conf.d/mysqld.cnf

Basta executar os comandos abaixo para abrir o arquivo de configuração do MySQL ...

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Dependendo de seus sistemas, você pode encontrar o mesmo arquivo de configuração no local abaixo:

sudo nano /etc/my.cnf

Quando o arquivo for aberto, procure uma linha que comece com endereço de ligação como mostrado abaixo ... Seu valor padrão deve ser 127.0.0.1

# isso é lido pelo daemon autônomo e servidores incorporados 

[servidor]

# isso é apenas para o daemon autônomo do mysqld [mysqld] # # * Configurações básicas # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = / usr datadir = / var / lib / mysql tmpdir = / tmp lc-messages-dir = / usr / share / mysql skip-external-locking # Em vez de skip-networking, o padrão agora é escutar apenas # localhost que é mais compatível e não menos seguro. bind-address = 127.0.0.1 # # * Ajuste fino

Quando você precisa fazer é alterar o valor padrão 127.0.0.1 para 0.0.0.0 como mostrado abaixo:

# isso é lido pelo daemon autônomo e servidores incorporados 

[servidor]

# isso é apenas para o daemon independente do mysqld [mysqld] # # * Configurações básicas # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = / usr datadir = / var / lib / mysql tmpdir = / tmp lc-messages-dir = / usr / share / mysql skip-external-locking # Em vez de skip-networking, o padrão agora é escutar apenas # localhost que é mais compatível e não menos seguro. bind-address = 0.0.0.0 # # * Ajuste fino

No mesmo arquivo, você vai querer comentar a linha que começa com pular rede colocando o # antes dele ... ou exclua tudo junto ... depois salve suas alterações ...

Certifique-se de adicionar as alterações acima no [mysqld] seção.

Depois de fazer a alteração acima, salve o arquivo e execute os comandos abaixo para reiniciar o servidor.

sudo systemctl restart mysql.service

Para verificar se a mudança acontece, execute os comandos abaixo

sudo apt install net-tools sudo netstat -anp | grep 3306

e você deve encontrar o resultado que se parece com o abaixo

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3213 / mysqld

Agora o servidor está configurado para ouvir todos os endereços IP, mas o IP individual precisa ser explicitamente configurado para se conectar a um banco de dados.

Para permitir que um cliente se conecte a um banco de dados, você deve conceder acesso ao servidor remoto.

Etapa 3: acesso de clientes remotos

Agora que o servidor está configurado ... use as etapas abaixo para permitir que clientes remotos acessem o banco de dados ...

Por exemplo, se você deseja um computador cliente com endereço IP 192.168.1.2 para se conectar a um banco de dados chamado nome do banco de dados como usuário database_user, em seguida, execute os comandos abaixo após fazer login no servidor de banco de dados.

GRANT ALL ON nome do banco de dados.* PARA 'database_user@ 192.168.1.2 'IDENTIFICADO POR'database_user_password';

  • nome do banco de dados é o nome do banco de dados ao qual o usuário se conectará.
  • database_user é o nome do usuário do banco de dados ...
  • 192.168.1.2 é o IP a partir do qual o cliente está se conectando ...
  • database_user_password é a senha da conta database_user

Depois de executar os comandos acima, você deve ser capaz de acessar o servidor do computador cliente com aquele IP atribuído.

Para se conectar ao servidor a partir do endereço IP aprovado, execute os comandos abaixo

mysql -u database_user -p database_user_password -h servidor de banco de dados

É isso aí! Você configurou com sucesso um acesso remoto ao servidor de banco de dados MySQL ...

Ubuntu Firewall

Se o seu servidor Ubuntu tem firewall habilitado, então você vai querer abrir a conexão com o servidor de banco de dados ... Simplesmente execute os comandos abaixo para abrir o firewall para o cliente do endereço IP para a porta apenas ...

Por exemplo, para abrir o Ubuntu Firewall para permitir que o endereço IP 192.168.1.2 se conecte à porta 3306.

sudo ufw allow de 192.168.1.2 para qualquer porta 3306

Para permitir todos os endereços IP (não seguros), execute os comandos abaixo:

sudo ufw allow 3306 / tcp

É isso aí!

Parabéns! Você instalou e configurou o MySQL com sucesso para permitir acesso remoto ...




Ainda sem comentários

Uma coleção de informações úteis sobre o sistema operacional Linux e novas tecnologias
Artigos novos, dicas práticas, revisões detalhadas e guias. Sinta-se em casa no mundo do sistema operacional Linux