Como instalar MySQL Server e phpMyAdmin em uma VPS (Apache)
Este tutorial cobre a instalação do MySQL Server, PHP e phpMyAdmin em uma VPS Linux utilizando Apache.
Compatível com: Ubuntu 20.04 / 22.04 / 24.04
Requisitos
- VPS com acesso root
- Sistema Ubuntu atualizado
- Apache instalado
Se ainda não tiver o Apache:
apt update && apt upgrade -y
apt install apache2 -y
systemctl enable apache2
systemctl start apache2
1. Instalar MySQL Server
Instale o MySQL:
apt install mysql-server -y
Verifique se está rodando:
systemctl status mysql
Se não estiver ativo:
systemctl start mysql
systemctl enable mysql
2. Configurar segurança do MySQL
Execute o script de segurança:
mysql_secure_installation
Recomendações:
- VALIDATE PASSWORD: opcional (pode colocar N)
- Remover usuários anônimos: Y
- Desabilitar login root remoto: Y
- Remover banco de teste: Y
- Recarregar privilégios: Y
3. Criar usuário e banco de dados
Acesse o MySQL:
mysql -u root -p
Crie banco e usuário:
CREATE DATABASE meubanco;
CREATE USER 'usuario'@'%' IDENTIFIED BY 'SenhaForte123!';
GRANT ALL PRIVILEGES ON meubanco.* TO 'usuario'@'%';
FLUSH PRIVILEGES;
EXIT;
Observação:
'%' permite acesso remoto. Para maior segurança, use um IP específico.
4. Instalar PHP e extensões necessárias
apt install php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zip -y
Reinicie o Apache:
systemctl restart apache2
5. Instalar phpMyAdmin
apt install phpmyadmin -y
Durante a instalação:
- Escolha: apache2
- Configurar banco automaticamente: Yes
6. Ativar phpMyAdmin no Apache
Caso não funcione automaticamente:
ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Reinicie:
systemctl restart apache2
7. Acessar phpMyAdmin
No navegador:
http://IP-DA-VPS/phpmyadmin
Login:
- Usuário: root ou o usuário criado
- Senha: a definida anteriormente
FAQ (Perguntas Frequentes)
Não consigo acessar o phpMyAdmin
Verifique:
systemctl status apache2
Confirme também se a porta 80 está liberada no firewall:
ufw allow 80
Erro "Access denied for user 'root'"
No Ubuntu, o root usa autenticação via socket.
Solução: usar usuário criado ou alterar o método:
mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SuaSenha';
FLUSH PRIVILEGES;
phpMyAdmin pede extensão faltando
Instale:
apt install php-mbstring php-zip php-gd php-json php-curl -y
Reinicie:
systemctl restart apache2
Como permitir acesso remoto ao MySQL
Edite:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Altere:
bind-address = 0.0.0.0
Reinicie:
systemctl restart mysql
E libere no firewall:
ufw allow 3306
phpMyAdmin é seguro?
Por padrão, não é recomendado deixar público.
Recomendações:
- Proteger com senha adicional (Apache/Nginx)
- Restringir por IP
- Alterar URL padrão (/phpmyadmin)
Como mudar a URL do phpMyAdmin
Exemplo:
mv /var/www/html/phpmyadmin /var/www/html/painel-db
Acesso:
http://IP-DA-VPS/painel-db
Como remover phpMyAdmin
apt remove phpmyadmin -y
apt purge phpmyadmin -y
Boas práticas
- Não usar root em aplicações
- Criar usuários específicos por sistema
- Fazer backups frequentes
- Restringir acesso ao banco
- Monitorar conexões
Se ainda precisar de ajuda, abra um ticket com nosso suporte.