Cómo deshabilitar el acceso de inicio de sesión de root a PhpMyAdmin


Si planea usar phpmyadmin de forma regular para administrar sus bases de datos a través de la red (o peor aún, ¡a través de Internet!), No desea usar la cuenta raíz. Esto es válido no solo para phpmyadmin sino también para cualquier otra interfaz basada en web.

En /etc/phpmyadmin/config.inc.php , busque la siguiente línea y asegúrese de que la directiva AllowRoot esté configurada como FALSE:

$cfg['Servers'][$i]['AllowRoot'] = FALSE;

En Ubuntu/Debian, debe agregar estas dos líneas como se muestra:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;

Guarde los cambios y reinicie Apache.

------------- On CentOS/RHEL Systems -------------
# systemctl restart httpd.service

------------- On Debian/Ubuntu Systems -------------
# systemctl restart apache2.service

Luego, siga los pasos descritos en los consejos anteriores para acceder a la página de inicio de sesión de phpmyadmin ( https://phpmyadmin ) e intente iniciar sesión como root:

Luego, conéctese a su base de datos MySQL/MariaDB a través del símbolo del sistema y, utilizando las credenciales de root, cree tantas cuentas como necesite para acceder a una base de datos cada una. En este caso crearemos una cuenta llamada jdoe con la contraseña jdoespassword:

# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 10.1.14-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'jdoe'@'localhost' IDENTIFIED BY 'jdoespassword';
Query OK, 0 rows affected (0.04 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON gestion.* to 'jdoe'@'localhost';
Query OK, 0 rows affected (0.00 sec)

Luego, inicie sesión con las credenciales anteriores. Como puede ver, esta cuenta solo tiene acceso a una sola base de datos:

¡Felicidades! Ha deshabilitado el acceso de root a su instalación de phpmyadmin y ahora puede usarlo para administrar sus bases de datos.

Le recomiendo encarecidamente que agregue una capa adicional de seguridad a su instalación de phpmyadmin con la configuración HTTPS (certificado SSL) para evitar enviar el nombre de usuario y la contraseña en formato de texto sin formato a través de la red.