domingo, 16 de enero de 2022

phpMyAdmin - Debian 11 Stable

 

phpMyAdmin es una excelente herramienta de administración de bases de datos (MySQL / MariaDB)  vía web. Para poder utilizar phpmyadmin se requiere disponer del servidor web Apache2 con soporte PHP y el gestor de bases de datos MySQL ó MariaDB. 

Permite que cualquier usuario de la base de datos que disponga de algún permiso, acceda y haga uso de dichos permisos. Identificándose con el usuario administrador de la base de datos (root) o con cualquier otro usuario que disponga de todos los privilegios, estarán habilitadas todas las características de phpmyadmin.

A partir de Debian 11 stable el usuario administrador root no esta habilitado como administrador en la base de datos (MariaDB) por tanto al intentar entrar en phpMyAdmin como root nos devolverá el siguiente error: mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'. Pero en este manual solucionaremos esto y haremos al usuario root administrador de la base de datos, pero con una contraseña distinta a la del sistema, aunque se puede usar la misma contraseña del sistema operativo.


Instalar el Servidor de de bases de Datos (MySQL / MariaDB) y el soporte PHP

En Debian testing Bullseye ya no se usa MySQL se usa MariaDB, que es compatible con MySQL.
Para instalar MariaDB y php en Debian GNU/Linux, usamos los siguientes comandos:

apt install mariadb-server mariadb-client php

mariadb-server
mariadb-client
php

El proceso de instalación te solicitará una contraseña para el usuario root (puede ser distinta a la del sistema operativo, es mas se recomienda que sea distinta, nosotros pondremos la contraseña que queramos.) 

Una vez instalado y configurado en Debian GNU/Linux, el sistema deja arrancado el servidor de bases de datos MariaDB

El siguiente comando es por si tuvieras que arrancarlo de forma manual.

service mysql start

El siguiente comando por si tuvieras que reiniciarlo de forma manual.

service mysql restart

El siguiente comando por si tuvieras que pararlo de forma manual.

service mysql stop





Instalación de phpmyadmin
 

Para poder hacer uso de phpmyadmin, previamente necesitamos tener instalado un servidor LAMP (Linux, Apache, MariaDB, PHP), en este otro manual se explica como instalarlo. Aunque en el punto anterior hemos explicado de forma muy ligera como instalarlo en Debian 11 testing Bullseye

Enlace http://usuariodebian.blogspot.com.es/2012/04/lamp-servidor-web.html

La instalación de phpmyadmin la realizamos con la ayuda del programa synaptic o bien desde consola usando el siguiente comando:

# apt install phpmyadmin


En este manual hacemos la instalación desde la consola de comandos. Logeados como usuario administrador (root)

NOTA: Para la instalación desde consola, en el asistente usaremos la 4 teclas de cursores, la tecla Tabulador, y la Tecla Barra espaciadora y la tecla intro o enter

Empezamos a instalar el paquete phpmyadmin.




Nos muestra todas las dependencias que necesita para instalar phpmyadmin, y nos pregunta si ¿Deseamos continuar? Pulsamos la tecla S para continuar.



Ahora el instalador ha detectado los servidores web que tenemos instalado en el sistema, y nos pregunta en que servidor web deseamos configurar phpmyadmin, Seleccionamos con la barra espaciadora apache2 y pulsamos Intro (para Aceptar)



La siguiente pregunta es: ¿Desea configurar la base de datos para phpmyadmin con dbconfig-common?, por defecto esta seleccionado SI, tan solo tenemos que pulsar intro para continuar.



En la siguiente pantalla tenemos que introducir la contraseña que usaremos para el usuario phpmyadmin que se esta creando durante este proceso de instalación. (ponemos la contraseña que queramos), y pulsamos intro (Aceptar)



ahora tenemos que volver a escribir la misma contraseña, para asegurarnos que hemos escrito la contraseña correcta. Pulsamos intro (Aceptar)



y esta es la ultima pregunta que nos hace el instalador.
Observamos como  después de un rato, el instalador finaliza correctamente.




Ahora ya podemos ejecutar phpmyadmin desde un navegador web.
Colocando la dirección ip del servidor seguido de phpmyadmin. En este ejemplo seria: http://192.168.1.35/phpmyadmin

El usuario creado por defecto durante la instalación es: phpmyadmin
La contraseña es la que introducimos antes, durante la instalación

NOTA: el usuario creado por defecto llamado: phpmyadmin, no tiene derechos de administrador de la base de datos. Por tanto debemos crear un usuario nuevo, o activar el usuario root para tener derechos de administrador en la gestión de la bases de datos de mariadb.







 Activar usuario root en phpmyadmin 

Si intentamos acceder a phpmyadmin como usuario root, nos devolvera un mensaje de acceso no autorizado en el parte superior del login:
EL servidor MYSQL no autorizó su acceso
y la parte inferior del login, nos dice lo mismo, pero esta vez nos detalla, el usuario root no esta autorizado en phpmyadmin.
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'





  Vamos a realizar el proceso para autorizar el acceso de root en phpmyadmin  
 

==========================================
NOTA:
- Aunque el o los comandos introducidos en este apartado se indique mysql, no confundiros, pues simplemente es una referencia a la bases de datos mariadb.
- Tras cada comando pulsamos la tecla intro o enter.
- El proceso requiere 4 comandos.

==========================================

 

 

1- Abrimos una consola de comandos, nos logeamos como usuario administrador (root) usando el siguiente comando:

 

usuariodebian@debian11stable: ~ $  su -

 
2- Nos logeamos como usuario administrador de la base de daros mysql, usando el siguiente comando:

 

usuariodebian@debian11stable: ~ #  mysql -u root

 

3- Vamos actualizar la contraseña del usuario root de mysql, usando el siguiente comando:

 
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'contraseña';

 

4- Por ultimo actualizamos los comando ejecutados , usando el siguiente comando:

 
MariaDB [(none)]> FLUSH PRIVILEGES;

 

 


Una vez introducidos los comandos anteriores ya podemos ir a phpmyadmin y logearnos con usuario: root y con la contraseña que hemos puesto arriba.
Ahora ya podemos gestionar las bases de datos creadas con phpmyadmin en el gestor de bases de datos mariadb.
Vemos como nos hemos logeados como root y como podemos ver y administrar las cuentas de usuarios dentro de phpMyAdmin





Agregar usuarios administradores a MySQL

1-
usuariodebian@debian11stable: ~ $  su -
2- usuariodebian@debian11stable: ~ #  mysql -u root

3- MariaDB [(none)]> CREATE USER 'nuevo_usuario'@'%' IDENTIFIED BY 'password';
4-
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'nuevo_usuario'@'%' WITH GRANT OPTION;
5-
MariaDB [(none)]> FLUSH PRIVILEGES;
6-
MariaDB [(none)]> quit

 

Cambiar nuevo_usuario por el nombre del nuevo usuario a dar de alta
Cambiar password por la nueva contraseña
En lugar de usar % se puede usar localhost



Borrar usuarios de MySQL

1- usuariodebian@debian11stable: ~ $  su -
2- usuariodebian@debian11stable: ~ #  mysql -u root

3- MariaDB [(none)]> DROP USER 'usuario'@'localhost';

 

Cambiar usuario por el nombre del usuario a dar de baja



Lista de usaurios de MySQL


1- usuariodebian@debian11stable: ~ $  su -
2- usuariodebian@debian11stable: ~ #  mysql -u root

 
3- MariaDB [(none)]>  SELECT USER FROM mysql.user;

4- MariaDB [(none)]>  SELECT USER, host FROM mysql.user;





.

No hay comentarios: