Pular para o conteúdo principal

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.