Saltar al contenido principal

Cómo instalar MySQL Server y phpMyAdmin en un VPS (Apache)

Este tutorial cubre la instalación de MySQL Server, PHP y phpMyAdmin en un VPS Linux usando Apache.

Compatible con: Ubuntu 20.04 / 22.04 / 24.04

Requisitos

  • VPS con acceso root
  • Sistema Ubuntu actualizado -Apache instalado

Si aún no tienes Apache:

apt update && apt upgrade -y
apt install apache2 -y
systemctl enable apache2
systemctl start apache2

1. Instalar el servidor MySQL

Instalar MySQL:

apt install mysql-server -y

Compruebe si se está ejecutando:

systemctl status mysql

Si no está activo:

systemctl start mysql
systemctl enable mysql

2. Configurar la seguridad de MySQL

Ejecute el script de seguridad:

mysql_secure_installation

Recomendaciones:

  • VALIDAR CONTRASEÑA: opcional (puedes introducir N)
  • Eliminar usuarios anónimos: Y
  • Deshabilitar el inicio de sesión remoto como root: Y
  • Quitar banco de pruebas: Y
  • Recargar privilegios: Sí

3. Crear usuario y base de datos

Accede a MySQL:

mysql -u root -p

Crear banco y usuario:

CREATE DATABASE meubanco;
CREATE USER 'usuario'@'%' IDENTIFIED BY 'SenhaForte123!';
GRANT ALL PRIVILEGES ON meubanco.* TO 'usuario'@'%';
FLUSH PRIVILEGES;
EXIT;

Nota: '%' permite el acceso remoto. Para mayor seguridad, utilice una IP específica.

4. Instale PHP y las extensiones necesarias

apt install php libapache2-mod-php php-mysql php-cli php-curl php-mbstring php-xml php-zip -y

Reinicie Apache:

systemctl restart apache2

5. Instale phpMyAdmin

apt install phpmyadmin -y

Durante la instalación:

  • Elija: apache2
  • Configurar banco automáticamente: Sí

6. Habilite phpMyAdmin en Apache

Si no funciona automáticamente:

ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

Reiniciar:

systemctl restart apache2

7. Accede a phpMyAdmin

En el navegador:

http://IP-DA-VPS/phpmyadmin

Iniciar sesión:

  • Usuario: root o el usuario creado
  • Contraseña: la previamente definida

Preguntas frecuentes (Preguntas frecuentes)

No puedo acceder a phpMyAdmin

Comprobar:

systemctl status apache2

También confirme que el puerto 80 esté permitido en el firewall:

ufw allow 80

Error "Acceso denegado al usuario 'root'"

En Ubuntu, root usa autenticación de socket.

Solución: use el usuario creado o cambie el método:

mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'SuaSenha';
FLUSH PRIVILEGES;

phpMyAdmin pregunta por la extensión que falta

Instalar:

apt install php-mbstring php-zip php-gd php-json php-curl -y

Reiniciar:

systemctl restart apache2

Cómo permitir el acceso remoto a MySQL

Editar:

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

Cambiar:

bind-address = 0.0.0.0

Reiniciar:

systemctl restart mysql

Y suéltelo en el firewall:

ufw allow 3306

¿Es seguro phpMyAdmin?

Por defecto no se recomienda dejarlo público.

Recomendaciones:

  • Proteger con contraseña adicional (Apache/Nginx)
  • Restringir por IP
  • Cambiar URL predeterminada (/phpmyadmin)

Cómo cambiar la URL de phpMyAdmin

Ejemplo:

mv /var/www/html/phpmyadmin /var/www/html/painel-db

Acceso:

http://IP-DA-VPS/painel-db

Cómo eliminar phpMyAdmin

apt remove phpmyadmin -y
apt purge phpmyadmin -y

##Buenas prácticas

  • No usar root en aplicaciones
  • Crear usuarios específicos por sistema.
  • Realizar copias de seguridad frecuentes
  • Restringir el acceso al banco.
  • Monitorear conexiones

Si aún necesita ayuda, abra un ticket con nuestro soporte.