MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) de código aberto, poderoso e amplamente utilizado que organiza os dados em tabelas de dados únicas ou múltiplas onde os tipos de dados podem estar relacionados a cada de outros. A Linguagem de Consulta Estruturada (SQL) trabalha com RDBMSes, e quando alguém deseja armazenar ou gerenciar um grande volume de dados, adquirirá o serviço de banco de dados relacional e SQL.

Este artigo mostra como configurar o MySQL em seu servidor Ubuntu 18.04. Ele também mostra como habilitar a autenticação, seguida pelo gerenciamento de serviço. No final, você também aprenderá a testar o serviço para verificar a configuração bem-sucedida.

Etapa 1: instalação do cliente MySQL

Instale o cliente mysql para se conectar remotamente com o servidor:

sudo apt install mysql-client -y

Verifique a versão do cliente para verificar se a instalação foi bem-sucedida:

mysql -V

Saída:

mysql Ver 8.0.28-0ubuntu0.20.04.3 para Linux em x86_64 ((Ubuntu))

Agora você pode usar o seguinte comando para estabelecer uma conexão remota com o servidor MySQL:

instagram viewer
mysql -u  -p -h HOSTNAME_OR_IP

Etapa 2: instalação do servidor MySQL

Antes de instalar o MySQL, certifique-se de que o servidor Ubuntu esteja instalado e configurado corretamente. O servidor Ubuntu 18.04, por padrão, contém a versão mais recente do MySQL 5.7 nos repositórios. Use o comando apt para atualizar os pacotes do sistema do repositório da seguinte forma:

sudo apt update

Agora use o seguinte comando para instalar o pacote do servidor MySQL:

sudo apt install mysql-server -y

Etapa 3: configuração do MySQL

Nesta era de ameaças persistentes de segurança cibernética, é um padrão alterar as opções padrão após a instalação bem-sucedida do servidor. Esta seção o orienta na configuração do servidor MySQL para eliminar opções padrão inseguras, como logins root remotos, contas de usuário padrão, etc. O MySQL facilita essa tarefa fazendo automaticamente todas as alterações com a ajuda de um script de segurança simples.

sudo mysql_secure_installation

O script solicita várias opções solicitando respostas Sim ou Não para alterar a segurança padrão do MySQL. Por exemplo, o primeiro prompt solicita se você deseja configurar um plug-in para validar senhas, responda sim E continue.

O próximo prompt pede para definir a senha da conta de usuário root do MySQL. Você pode notar que habilitar o plugin Validate Password permite definir a força da senha em relação a três níveis de política de segurança de senha e comprimento.

Digite o número que você deseja escolher para definir a força da senha. O sistema irá então pedir para definir a nova senha e redigitá-la para confirmação, da seguinte forma:

Você pode notar que após definir a senha, ele exibe a força e pergunta se você deseja continuar.

Agora ele fará perguntas subsequentes:

  1. Para remover o usuário de teste anônimo
  2. Desabilite o login remoto do usuário root
  3. Remova os bancos de dados de teste
  4. Recarregue a tabela de privilégios para salvar todas as alterações

Tipo S para continuar com as configurações padrão para definir as regras de segurança.

Versões mais antigas do MySQL (antes de 5.7.6) exigem que você inicialize manualmente o diretório do banco de dados. Enquanto para as versões posteriores, execute o seguinte comando:

mysqld –inicializar

Etapa 4: ajustes de autenticação do usuário MySQL

Independentemente de estabelecer uma senha para uma conta de usuário MySQL, a configuração de autenticação padrão desabilita o uso de senhas durante o estabelecimento da conexão. Em vez disso, ele autentica automaticamente o usuário com a ajuda do auth_socket plugar. O plugin é um ótimo recurso para usabilidade, porém, não é prático se você deseja acessar seu banco de dados a partir de um cliente remoto.

Como o acesso ao banco de dados sem senha dificulta o processo de trabalho quando acessado por um programa externo, esta seção resume duas maneiras de autenticar o usuário no estabelecimento da conexão:

1. Autenticação de usuário raiz com senha

Para garantir a autenticação do usuário via senha, você pode alterar o plugin de "auth_socket" para "mysql_native_password." Para isso, abra a tela de prompt do MySQL usando o sudo mysql comando e verifique o plug-in que está em uso para autenticação do usuário, conforme a seguir:

SELECT usuário, authentication_string, plugin, host FROM mysql.user;

A captura de tela acima mostra que o cliente raiz se autentica usando o plug-in "auth_socket". Para inicializar a autenticação do cliente root com uma senha, use a instrução ALTER USER para definir o plug-in "mysql_native_password".

ALTER USER 'root'@'localhost' IDENTIFICADO COM mysql_native_password BY 'password';

Salve as alterações acima da seguinte forma:

PRIVILÉGIOS FLUSH;

A instrução MySQL "FLUSH PRIVILEGES" salva as alterações nas tabelas do banco de dados feitas pelas cláusulas ALTER, INSERT, UPDATE e DELETE.

Agora, para verificar as estratégias de autenticação utilizadas por cada usuário e garantir que o plugin "auth_socket" não seja usado pelo cliente root, execute novamente o comando:

SELECT usuário, authentication_string, plugin, host FROM mysql.user;

Agora, o usuário root pode se conectar ao servidor autenticando-se através do seguinte comando:

sudo mysql -u root -p

2. Crie um usuário dedicado

Outra maneira de habilitar a autenticação sem usar mysql_native_password é criar um usuário dedicado da seguinte forma:

sudo mysql

Crie uma nova conta e conceda todos os privilégios para atribuir controle de nível administrativo ao novo usuário. Em seguida, saia do prompt do MySQL. Execute o seguintes consultas SQL um por um para conseguir isso:

CRIAR USUÁRIO 'ubuntu'@'localhost' IDENTIFICADO POR 'senha';
CONCEDER TODOS OS PRIVILÉGIOS EM *.* PARA 'ubuntu'@'localhost' COM OPÇÃO DE CONCESSÃO;
saída

Gerencie e teste o serviço MySQL com systemctl

Defina o serviço para ser executado na inicialização do servidor Ubuntu usando o systemctl habilitar comando da seguinte forma:

sudo systemctl habilitar mysql

Além disso, você pode testar o servidor para estar funcionando digitando:

sudo systemctl status mysql

Ou

sudo systemctl status mysql.service

O serviço é executado automaticamente após a instalação do MySQL, porém, se não, você pode iniciar o serviço usando o seguinte comando:

sudo systemctl start mysql

Começando com o MySQL Server no Ubuntu

MySQL é um sistema de gerenciamento de banco de dados de código aberto, amigável, escalável e robusto. Além disso, é parte integrante do modelo de pilha LAMP/LEMP ou das tecnologias de aplicação web. Este sistema de gerenciamento de banco de dados relacional (RDBMS) oferece instalação simples e fácil configuração em suas versões recentes.

Este artigo o orienta na construção de uma configuração básica do MySQL que o ajudará comece aprendendo como o MySQL funciona. Ele também abrange algumas medidas iniciais de segurança importantes em sua configuração para evitar as brechas na configuração padrão. Você pode aprender mais sobre como proteger o MySQL seguindo algumas dicas de segurança avançadas.

9 dicas avançadas de segurança do MySQL

Leia a seguir

ParticipaçãoTweetParticipaçãoE-mail

Tópicos relacionados

  • Linux
  • base de dados
  • SQL
  • Aplicativos Linux
  • Instalar software
  • Ubuntu

Sobre o autor

Rumaisa Niazi (21 artigos publicados)

Rumaisa é redatora freelancer na MUO. Ela já desempenhou muitos cargos, de matemática a entusiasta de segurança da informação, e agora está trabalhando como analista de SOC. Seus interesses incluem ler e escrever sobre novas tecnologias, distribuições Linux e qualquer coisa relacionada à Segurança da Informação.

Mais de Rumaisa Niazi

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar