Foros del Web » Programando para Internet » PHP »

Problema con privilegios de PhpMyAdmin

Estas en el tema de Problema con privilegios de PhpMyAdmin en el foro de PHP en Foros del Web. Hola amigos, No sé si este post debería ir en este foro o en el de mysql. Mi problema es el siguiente: Me instalé el ...
  #1 (permalink)  
Antiguo 18/09/2007, 04:14
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 18 años
Puntos: 1
Problema con privilegios de PhpMyAdmin

Hola amigos,

No sé si este post debería ir en este foro o en el de mysql. Mi problema es el siguiente:

Me instalé el apache 1.3.33, php 4.3.9 , mysql 5.0.45 y phpmyadmin 2.6.1. Con la configuración predefinida de phpmyadmin y mysql me aparecía el usuario "root" típico. Entonces añadí otro usuario con contraseña y le di a recargar privilegios ("intranet_root"). No borré el usuario "root" y los privilegios están como se muestra a continuación:

Usuario: intranet_root, Servidor: %, Contraseña: Sí, Privilegios globales: ALL PRIVILEGES, Conceder: Sí
Usuario: root, Servidor: 127.0.0.1, Contraseña: No, Privilegios globales: ALL PRIVILEGES, Conceder: Sí
Usuario: root, Servidor: localhost, Contraseña: No, Privilegios globales: ALL PRIVILEGES, Conceder: Sí
Usuario: root, Servidor: production, Contraseña: No, Privilegios globales: ALL PRIVILEGES, Conceder: Sí

El problema es que las conexiones y operaciones sobre la BD sólo me funcionan con el usuario "root" y no con el otro usuario con contraseña. No sé si tendría que borrar el usuario root (las tres opciones que hay) y darle a recargar a privilegios. Las opciones de borrado que me aparecen son:

" Retire a los usuarios seleccionados
- Solamente borre a los usuarios de la tabla de privilegios.
- Revocar todos los privilegios activos de los usuarios y bórrelos después.
- Borre a los usuarios y vuelva a cargar los privilegios posteriormente.
- Eliminar las bases de datos que tienen los mismos nombres de los usuarios. "

¿Alguien sabe cómo puedo solucionar mi problema para poder usar la BD con el usuario con contraseña y no el root?

Gracias por las molestias y saludos!!!
  #2 (permalink)  
Antiguo 18/09/2007, 06:04
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Problema con privilegios de PhpMyAdmin

No pones el error que ta da MyAdmin.
Puede ser cualquier cosa. ¿Qué tipo de autenticación empleas en MyAdmin? Lo puedes ver en el fichero config.inc.php en una línea parecida a esta

Código PHP:
$cfg['Servers'][$i]['auth_type'] = 'config'
En este caso se emplea el modo "config"...

¿Has dado de alta el usuario en MyAdmin?:

Código PHP:
$cfg['Servers'][$i]['user'] = 'intranet_root';
$cfg['Servers'][$i]['password'] = 'contraseña'
__________________
Kelpie
  #3 (permalink)  
Antiguo 19/09/2007, 01:42
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 18 años
Puntos: 1
Re: Problema con privilegios de PhpMyAdmin

Hola Kelpie,

La autentificación que uso en PhpMyAdmin es el modo "config" y tengo lo siguiente en el archivo de configuración:

$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';

En el phpMyAdmin tenía el usuario "root" por defecto (los tres que aparecen en el post de arriba) y añadí uno nuevo ("intranet_root") con contraseña desde la opción de "privilegios". Y pinché la opción de "cargar privilegios" que sale abajo.

Entonces cuando intento mostrar el contenido de una tabla de la BD si utilizo el usuario "root" no me da ningún error en el script php, pero si utilizo el usuario "intranet_root" me aparece el siguiente error:

"Warning: mysql_pconnect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in c:\servidor\web\intranet\ej.php on line 9
Client does not support authentication protocol requested by server; consider upgrading MySQL client"

¿Tengo que sustituir las líneas que he puesto del fichero de configuración por las que tú me has puesto? ¿Esto implica que al acceder a phpmyadmin tb habría que poner la clave para entrar?

A ver si me podeis ayudar que no sé qué falla. Espero haberme explicado bien.

Gracias y saludos.
  #4 (permalink)  
Antiguo 19/09/2007, 06:17
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Problema con privilegios de PhpMyAdmin

No se tu nivel de PHP por lo que ingual te explico cosas que ya sabes.

PHPMyAdmin carga en esas líneas la información sobre los distintos servidores-usuarios a los que quieres que acceda. En tu caso, quieres acceder al mismo servidor con dos usuarios diferentes, por lo que deberías tener dos juegos de líneas.

El código consiste en cargar una matriz asociativa de servidores. Si te fijas en lo que ya tienes...

Código PHP:
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'contraseña'
En la primera línea se incrementa el índice de servidor ($i++; como empezó en 0, este será el servidor número 1) y se le cargan los valores...

Deberías añadir un servidor, es decir añadir un nuevo grupo de líneas debajo de las anteriores...

Código PHP:
$i++;
...
/* Segundo servidor */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['user'] = 'intranet_root';
$cfg['Servers'][$i]['password'] = ''
En este caso, $i se quedará con valor 2 y de esta manerá se cargarán los valores para el servidor numero dos.

MyAdmin emplea la configuraci´çon del primer servidor para la conexión inicial, cuando te aparece la pantalla de inicio. En esa pantalla, en la parte derecha arriba, debería tener un desplegable para poder escoger servidor. Si está todo bién deberían aparecer dos:

localhost(root)
localhost(intranet_root)

Selecciona el segundo y entonces te conectarás a MySql como 'intranet_root'


Con esto tendrás disponibles los dos usuarios...
__________________
Kelpie
  #5 (permalink)  
Antiguo 24/09/2007, 02:13
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 18 años
Puntos: 1
Re: Problema con privilegios de PhpMyAdmin

Hola kelpie,

He intentado modificar el archivo confic.inc.php de la siguiente manera, cambiendo el parámetro host, user y password:


Código PHP:
//éste es el segundo servidor, el primer servidor es igual que éste pero con user 'root' y pass '' (vacío)
$i++;
$cfg['Servers'][$i]['host']            = 'localhost'//la he modificado, antes estaba vacía
$cfg['Servers'][$i]['port']            = '';
$cfg['Servers'][$i]['socket']          = '';
$cfg['Servers'][$i]['connect_type']    = 'tcp';
$cfg['Servers'][$i]['extension']       = 'mysql';
$cfg['Servers'][$i]['compress']        = FALSE;
$cfg['Servers'][$i]['controluser']     = '';
$cfg['Servers'][$i]['controlpass']     = '';
$cfg['Servers'][$i]['auth_type']       = 'config';
$cfg['Servers'][$i]['user']            = 'intranet_root'//la he modificado, antes estaba como 'root'
$cfg['Servers'][$i]['password']        = 'root'// la he modificado, antes estaba vacío
$cfg['Servers'][$i]['only_db']         = '';
$cfg['Servers'][$i]['verbose']         = '';
$cfg['Servers'][$i]['pmadb']           = ''// 'phpmyadmin' - see scripts/create_tables.sql
$cfg['Servers'][$i]['bookmarktable']   = ''// 'pma_bookmark'
$cfg['Servers'][$i]['relation']        = ''// 'pma_relation'
$cfg['Servers'][$i]['table_info']      = ''// 'pma_table_info'
$cfg['Servers'][$i]['table_coords']    = ''// 'pma_table_coords'
$cfg['Servers'][$i]['pdf_pages']       = ''// 'pma_pdf_pages'
$cfg['Servers'][$i]['column_info']     = ''// 'pma_column_info'
$cfg['Servers'][$i]['history']         = ''// 'pma_history'
$cfg['Servers'][$i]['verbose_check']   = TRUE;
$cfg['Servers'][$i]['AllowRoot']       = TRUE;
$cfg['Servers'][$i]['AllowDeny']['order']
                                       = 
'';
$cfg['Servers'][$i]['AllowDeny']['rules']
                                       = array(); 
Así, en la parte derecha arriba del PhpMyAdmin, tiene un desplegable para poder escoger servidor. Aparecen dos:

localhost(root)
localhost(intranet_root)

Selecciono el segundo y entonces me sale el siguiente error:

#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

He probado a cambiar el parámetro 'auth_type' para que en lugar de 'config' sea 'cookie' o 'http', pero da el mismo error.

¿Alguien sabe qué puede pasar? ¿Una vez consiga que no me de el error ya podria utilizar este usuario para conectarme y hacer consultas como con el usuario 'root'?

Gracias por las molestias y saludos.

Última edición por miguel867; 24/09/2007 a las 02:59
  #6 (permalink)  
Antiguo 06/10/2007, 11:47
 
Fecha de Ingreso: abril-2006
Mensajes: 131
Antigüedad: 18 años
Puntos: 1
Re: Problema con privilegios de PhpMyAdmin

¡Alguien me puede ayudar?

Por favor.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:42.