¿En qué podemos ayudarte?

Categorías

Search

Ya sabemos que phpMyAdmin es una herramienta extremadamente útil para gestionar nuestras bases de datos. En esta pequeña guía veremos un par de recomendaciones para solucionar algunos problemas con phpMyAdmin que podemos encontrar en nuestras instalaciones

Error de acceso a las bases datos

Este error es frecuente en las últimas versiones de mySQL/MariaDB. La seguridad es más estricta y  el usuario root solo puede acceder mediante "sudo". ​

phpMyAdmin ya no puede acceder como root a la base de datos. Lo mismo se aplica a otras aplicaciones, como por ejemplo WordPress.

La solución permanente a este problema con phpMyAdmines muy simple, creamos un nuevo usuario y le otorgamos todos los privilegios

Nos conectamos por SSH al servidor de la base de datos y ejecutamos el comando sudo mysql -u root

Y una vez dentro de la consola de mySQL ejecutamos los comandos:

create user 'usuario'@'localhost' identified by 'contraseña';
grant all privileges on *.* to 'usuario'@'localhost' with grant option;
flush privileges;

Sustituiremos usuario y contraseña por las adecuadas a nuestra instalación. 

Para modificar la contraseña de un usuario existente,los comandos son:

alter user 'usuario'@'localhost' identified by 'nueva-contraseña';
flush privileges;

Sustituiremos localhost  por la dirección autorizada, si fuese necesario.

Errores y avisos de PHP al usar phpMyAdmin

Esta es algo que me ha ocurrido en instalaciones con Ubuntu 18. Aparece el siguiente aviso durante el trabajo con phpMyAdmin

Podemos ignorarlo, el funcionamiento será normal, pero este problema con phpMyAdmin es realmente molesto. Y suele presentarse también al  Exportar o Importar, solo que en este caso habrá otra referencia:
 Warning in ./libraries/plugin_interface.lib.php#551

Este problema con phpMyAdmin se debe a errores de sintaxis en los archivos indicados. Podemos solucionarlo muy fácilmente modificándolos con nuestro editor favorito. 

sql.lib.php

Por seguridad, primero  haremos una copia: 
sudo cp /usr/share/phpmyadmin/libraries/sql.lib.php /usr/share/phpmyadmin/libraries/sql.lib.php.bak

Lo abrimos con nano:
sudo nano /usr/share/phpmyadmin/libraries/sql.lib.php 

En la linea indicada en el mensaje (613 en este caso) veremos lo siguiente: (count($analyzed_sql_results['select_expr'] == 1) 

Que debemos sustituir por: (count($analyzed_sql_results['select_expr'] )== 1)

Guardamos los cambios y cerramos el editor

plugin_interface.lib.php

Hacemos la copia
sudo cp /usr/share/phpmyadmin/libraries/plugin_interface.lib.php /usr/share/phpmyadmin/libraries/plugin_interface.lib.php.bak

Abrimos el archivo​
sudo nano /usr/share/phpmyadmin/libraries/plugin_interface.lib.php

y modificamos la línea 551 cambiando
if (! is_null($options) && count($options) > 0) { (o esta otra variante  if ($options != null && count($options) > 0))

​por if (! is_null($options) && count((array)$options) > 0)

Finalizamos guardando las modificaciones y el error debe haber desaparecido.


Solucionar problemas con phpMyAdmin actualizándolo manualmente

La mayoría de los problemas con phpMyAdmin son consecuencia de errores de programación. Muchos suelen estar solucionados en las nuevas versiones. Encontralos indica que tenemos instalada  una versión antigua. Y suele pasar con los repositorios oficiales de muchas distribuciones.

Por ejemplo Ubuntu 18, instala la versión 4.6 de phpMyAdmin. Por otra parte, la última versión estable es la 4.9 como podemos comporbar en la página de descargas oficial.

Podemos esperar a que se actualice el repositorio oficial o agregar uno alternativo. Sin embargo, es muy fácil hacer una actualización manual, corregir estos errores y aprovechanos de otras mejoras introducidas en la nueva versión

Descarga de los archivos actualizados

Como siempre haremos una copia de la instalación actual. A continuación creamos de nuevola carpeta de phpMyAdmin y nos desplazamos a ella
sudo mv /usr/share/phpmyadmin/ /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin/
cd /usr/share/phpmyadmin/

Descargamos la  versión estable que necesitamos, la descomprimimos y movemos los archivos a su ubicacion definitiva
sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.tar.gz
sudo tar xzf phpMyAdmin-4.9.0.1-all-languages.tar.gz
sudo mv phpMyAdmin-4.9.0.1-all-languages/* /usr/share/phpmyadmin

Debemos ajustar los nombres a la versión que vamos a instalar.

Configuración de la nueva versión

Si accedemos nuevamente a phpMyAdmin, veremos que la versión ya está actualizada. Aunque, es posible que tengamos que realizar algunos ajustes en la configuración. Lo sabremos si nos aparecen errores como los siguientes:

Para eliminarlos editamos el archivo vendor_config.php
sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php

En la línea 49, encontraremos: define('CONFIG_DIR', '');
y lo cambiaremos por: define('CONFIG_DIR', '/etc/phpmyadmin/');

En la línea 25, encontraremos: define('TEMP_DIR', './tmp/');
y lo cambiaremos por: define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');

Guardamos las modifcaciones y salimos del editor.

Solo nos queda hacer limpieza y borrar los archivos descargados que no necesitaremos.
sudo rm /usr/share/phpmyadmin/phpMyAdmin-4.9.0.1-all-languages.tar.gz
sudo rm -rf /usr/share/phpmyadmin/phpMyAdmin-4.9.0.1-all-languages

A partir de este momento, comprobaremos que al usar la nueva versión todos los errores hayan desaparecido.

Finalmente, si todo ha ido bien, podemos eliminar la copia inicial
sudo rm -rf /usr/share/phpmyadmin.bak

Actualizar a una nueva versión, casi siempre será la mejor solución a los problemas con phpMyAdmin.


5 1 vote
Valoración del artículo
Suscribir
Notificar de
guest
6 Comentarios
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
pablo
pablo
5 diás atrás

creo que algo paso con mi base de datos, no me permite hacer ninguna consulta :0

Kamil Alejandro
Kamil Alejandro
8 meses atrás

Algo si, para sql.lib.php en la linea 614, hay que quitar un paréntesis, si no phpMyAdmin no funcionará.

dario
dario
10 meses atrás

pongo root u otros nombres con o sin contraeñas y no me deja entrar al local el php usando mysql