phpmyadmin no muestra el esquema

phpmyadmin no muestra el esquema

Tengo un servidor con una gran cantidad de bases de datos mysql. Recientemente, algunos de los esquemas dejaron de mostrarse al iniciar sesión como raíz.

usuario root - hasta ahora siempre usado

Si uso el inicio de sesión para esa base de datos específica, entonces puedo verla.

usuario directo

El 'propietario' de esta base de datos es root, pero otras que tampoco son visibles para root son propiedad de otros.

Parece que las bases de datos a las que hemos accedido y en las que hemos trabajado recientemente desaparecen, pero ahora hay más de 5 que no son visibles. No es un caché local y cualquiera que también use el inicio de sesión raíz tiene el mismo problema.

Respuesta1

Si tuUSUARIO ACTUAL()no dice root@localhost, entonces no tienes privilegios de root y no puedes conectarte como tal.

Para ver qué privilegios reales tiene después de conectarse, ejecute esto

SHOW GRANTS;

Cuando se conecta a una base de datos específica, debería poder ver

  • las tablas de esa base de datos
  • metadatos en INFORMACIÓN_SCHEMA solo para esa base de datos

Digamos, por ejemplo, que te conectaste a buyspace_systdb

La salida deSHOW GRANTS;lo más probable es que aparezca algo como esto

GRANT USAGE ON *.* ...
GRANT ALL PRIVILEGES ON buyspace_systdb.* TO ...

El usuario root@localhostfuncionará si inicia sesión desde ese servidor local. Si está iniciando sesión de forma remota, root@localhostno permitiráUSUARIO()para autenticarse comoUSUARIO ACTUAL(). La prueba de esto está en la primera pantalla de su pregunta. Tenga en cuenta que solo puede ver información_esquema. Prácticamente se vaciará con la excepción de information_schema.schemata que tendría 1 o 2 entradas. Si root@'%'existiera mysql.usery tuviera los mismos privilegios que root@localhost, entonces se le permitiría ver todo como root@localhost.

MySQL tiene un esquema de autenticación que tiene un efecto de espiral descendente. Si el usuario con el que intenta conectarse no existe, intentará usar nombres de usuario que sean más vagos (permitiendo comodines o privilegios limitados). Ver mi publicación de DBA StackExchangeError de MySQL: acceso denegado para el usuario 'a'@'localhost' (usando contraseña: SÍ) para más detalles sobre esto.

Línea de fondo: No puede conectarse root@localhostdesde una ubicación remota

información relacionada