Instalar e configurar MySQL 5.7 no CentOS 7 e Ubuntu 16.04

Visão geral
MySQL é um sistema de gestão de banco de dados relacional (RDBMS) de código aberto mantido pela Oracle. O código-fonte é publicado sob GPL; existe também uma edição paga com recursos adicionais. MySQL é comumente usado em pilhas LAMP/LEMP como solução de armazenamento de dados.
Neste tutorial vamos:
- Adicionar o repositório oficial do MySQL.
- Instalar o MySQL 5.7 (versão estável usada aqui).
- Habilitar o serviço para iniciar automaticamente no boot.
- Redefinir/definir a senha root quando necessário.
- Testar criando um banco de dados e um usuário.
Importante: os comandos deste guia precisam de privilégios de root ou sudo. Execute-os em uma sessão segura (SSH) e faça backup antes de alterar servidores em produção.
Pré-requisitos
- Acesso root ou usuário com sudo.
- CentOS 7 ou Ubuntu 16.04 atualizados.
- Conexão de rede para baixar pacotes.
- Espaço em disco e memória compatíveis com o seu workload.
Passo 1 — Adicionar o novo repositório
O MySQL fornece repositórios rpm e deb que contêm as versões estáveis mais recentes. Adicione o repositório oficial ao sistema.
Para CentOS 7 execute:
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
Quando solicitado, digite ‘y’ e pressione Enter para confirmar.
No Ubuntu baixe e instale o pacote do repositório e atualize a lista de pacotes:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb
dpkg -i mysql-apt-config_0.8.3-1_all.deb
apt-get update
Durante a instalação do pacote de configuração no Ubuntu, você verá um diálogo perguntando a versão do MySQL a instalar e ferramentas adicionais. A opção padrão normalmente é MySQL 5.7 — pressione Enter em ‘Ok’ para aceitar.
Nota: manter o repositório oficial facilita atualizações e correções de segurança.
Passo 2 — Instalar MySQL 5.7
Com o repositório disponível, instale o pacote do servidor chamado mysql-community-server.
CentOS 7:
yum -y install mysql-community-server
Ubuntu 16.04:
apt-get install -y mysql-community-server
No Ubuntu o instalador pedirá que você defina uma senha para root durante a instalação. Digite uma senha forte e confirme.
Retype your password.
MySQL 5.7 estará instalado após a conclusão.
Passo 3 — Iniciar o MySQL e habilitar no boot
Inicie o serviço e ative-o para iniciar no boot com systemd.
CentOS (serviço mysqld):
systemctl start mysqld
systemctl enable mysqld
Ubuntu (serviço mysql):
systemctl start mysql
systemctl enable mysql
Verifique que o MySQL está escutando na porta TCP 3306 (comando mostrado é genérico):
netstat -plntu
Verifique se o serviço está habilitado para iniciar automaticamente:
CentOS:
systemctl is-enabled mysqld
Ubuntu:
systemctl is-enabled mysql
O resultado ‘enabled’ indica que o serviço está configurado para iniciar no boot.
Passo 4 — Configurar a senha root
No Ubuntu a senha root é normalmente definida durante a instalação; no CentOS 7, ao iniciar o mysqld pela primeira vez, o servidor gera uma senha temporária e a registra no arquivo de log.
Encontre a senha temporária no CentOS 7:
grep 'temporary' /var/log/mysqld.log
Conecte-se ao shell do MySQL usando a senha temporária:
mysql -u root -p
# DIGITE_A_SENHA_TEMPORÁRIA
Substitua a senha temporária por uma nova senha forte (exemplo usado abaixo; escolha a sua):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Newhakase-labs123@';
flush privileges;
Após executar os comandos acima, a senha root foi alterada.
Importante: guarde a senha root em um cofre de senhas ou sistema de gerenciamento seguro. Você pode repetir essa alteração a qualquer momento.
Passo 5 — Teste: criar banco de dados e usuário
Conecte-se como root e crie um banco e um usuário de teste:
mysql -u root -p
# DIGITE A NOVA SENHA: Newhakase-labs123@
create database hakaselabs;
create user hakase@localhost identified by 'Hakase123@';
grant all privileges on hakaselabs.* to hakase@localhost identified by 'Hakase123@';
flush privileges;
Saia e reconecte com o novo usuário:
mysql -u hakase -p
# DIGITE A SENHA: Hakase123@
show databases;
Você verá o banco de dados ‘hakaselabs’ listado.
Parabéns — o MySQL 5.7 está instalado, configurado e testado.
Cheatsheet de comandos essenciais
- Instalar repositório (CentOS):
yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
- Atualizar lista (Ubuntu):
apt-get update
- Instalar servidor:
yum -y install mysql-community-server
apt-get install -y mysql-community-server
- Iniciar e habilitar serviço:
systemctl start mysqld # CentOS
systemctl enable mysqld
systemctl start mysql # Ubuntu
systemctl enable mysql
- Encontrar senha temporária (CentOS):
grep 'temporary' /var/log/mysqld.log
- Redefinir senha root (MySQL 5.7):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NovaSenhaSegura!';
flush privileges;
- Criar banco/usuário e dar permissões:
create database meu_db;
create user meu_user@localhost identified by 'Senha!23';
grant all privileges on meu_db.* to meu_user@localhost;
flush privileges;
Segurança e hardening (boas práticas)
- Use senhas fortes e cofre de senhas para credenciais administrativas.
- Desabilite acessos remotos para root: verifique a tabela mysql.user e evite ‘root’@’%’ (mantenha apenas ‘root’@’localhost’).
- Habilite TLS para conexões remotas.
- Atualize regularmente o pacote do servidor e dos clientes via repositório oficial.
- Configure backups automáticos (mysqldump, mysqlpump, ou ferramentas de snapshot do storage).
- Limite usuários com privilégios mínimos necessários.
- Habilite log de auditoria quando necessário e monitore tentativas de login falhas.
Solução de problemas comuns
- Erro: “Can’t connect to local MySQL server through socket” — verifique se o serviço está ativo (systemctl status mysql/mysqld) e se o socket padrão (/var/run/mysqld/mysqld.sock ou /var/lib/mysql/mysql.sock) existe.
- Erro de autenticação após atualizar MySQL — verifique o plugin de autenticação (caching_sha2_password vs mysql_native_password) e ajuste se necessário.
- Porta 3306 ocupada — use netstat ou ss para identificar o processo que usa a porta.
- Pacote não encontrado — confirme que o repositório foi instalado corretamente e que a arquitetura do pacote é compatível.
Checklist por função (pré-produção)
Administrador de sistema:
- Repositório oficial adicionado e validado.
- Serviço configurado para iniciar no boot.
- Backups agendados e testados.
DBA:
- Usuários e privilégios aplicados com princípio do mínimo privilégio.
- Plano de manutenção (tunning, índices, purga de logs).
Segurança/Compliance:
- Senhas fortes armazenadas em cofre.
- TLS habilitado para conexões remotas.
Critérios de aceitação
- MySQL 5.7 instalado a partir do repositório oficial.
- Serviço inicia automaticamente no boot e responde na porta 3306.
- Senha root foi definida/alterada com sucesso.
- É possível criar um banco e um usuário, e conectar com esse usuário.
Casos de teste / Aceitação
- Instalação sem erros: executar instalação em uma VM limpa e verificar saída dos comandos.
- Inicialização: reiniciar a VM e confirmar que o service está ativo automaticamente.
- Autenticação: logar como root e como usuário criado localmente.
- Permissões: confirmar que o usuário tem acesso apenas ao banco designado.
Migração e alternativas
- Alternativa a MySQL 5.7: MariaDB (fork compatível) e versões mais novas do MySQL (8.x) — verificar compatibilidade de aplicações antes de migrar.
- Para ambientes que exigem recursos de replicação avançada, avalie MySQL Group Replication ou soluções gerenciadas (RDS, Cloud SQL).
Notas de compatibilidade
- Este guia foi escrito para CentOS 7 e Ubuntu 16.04. Em distribuições mais recentes (CentOS 8/Stream, Ubuntu 18.04/20.04) os pacotes e nomes de serviço podem diferir; ajuste conforme necessário.
Resumo
- Adicione o repositório oficial do MySQL.
- Instale mysql-community-server via yum/apt.
- Inicie e habilite o serviço com systemd.
- Defina ou redefina a senha root conforme necessário.
- Crie um banco e um usuário para testar a instalação.
Perguntas frequentes
Q: Posso usar estes passos para MySQL 8.0?
A: Alguns passos são semelhantes, mas MySQL 8.0 introduz diferenças (plugins de autenticação, configurações padrão). Use o repositório/configuração específica do 8.0.
Q: Onde encontro a senha temporária no CentOS?
A: No arquivo de log /var/log/mysqld.log; procure a linha que contém ‘temporary password’.
Q: Preciso abrir a porta 3306 no firewall?
A: Sim, apenas se houver clientes remotos que precisem se conectar. Em produção, prefira conexões via túnel VPN/SSH ou habilite TLS e restrinja IPs.
Referência
https://dev.mysql.com/doc/refman/5.7/en/linux-installation.html
Materiais semelhantes

Remover apps pré‑instalados no Android e iOS
Corrigir Dev Error 6068 no Warzone

Como verificar a versão do PowerShell no Windows

Instalar extensões manualmente no Edge

Instalar osTicket no Ubuntu 16.04
