Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con password de root en mysql

Estas en el tema de Problema con password de root en mysql en el foro de Mysql en Foros del Web. Buenas noches a todos!!!!!!! Tengo un problema desde hace ya tiempo que no he podido resolver, espero que alguien me pueda ayudar. Instale mysql 4.1 ...
  #1 (permalink)  
Antiguo 28/06/2012, 21:59
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Problema con password de root en mysql

Buenas noches a todos!!!!!!!

Tengo un problema desde hace ya tiempo que no he podido resolver, espero que alguien me pueda ayudar.

Instale mysql 4.1 en windows XP, configure el servicio y le asigne al usuario root la clave dbadmin.

Cuando me conecto por linea de cliente de mysql.... (enter password:) tecleo la clave dbadmin y me conecta, al hacer una consulta a la tabla user de mysql, me despliega la informacion de los usuarios:

host user password
localhost root *354A2C82FFA72984AE659BF47BBA109EF0D89CA5

Para no modificar el usuario de root, cree otro usuario llamado root2:

GRANT ALL PRIVILEGES ON *.* TO 'root2'@'localhost' IDENTIFIED BY 'dbadmin'

host user password
localhost root *354A2C82FFA72984AE659BF47BBA109EF0D89CA5
localhost root2 *354A2C82FFA72984AE659BF47BBA109EF0D89CA5

Sin embargo cuando quiero hacer la conexion con php, la sentencia es:

$con = mysql_connect("localhost","root2","dbadmin") or die("no se establecio la conexion");

no me permite hacer la conexión, me imagino que el password esta encriptado, porque no me reconoce el dbadmin, que tengo que hacer para que me realice la conexion..........?
  #2 (permalink)  
Antiguo 29/06/2012, 15:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Problema con password de root en mysql

Primero: No. Las claves se almacenan encriptadas, pero jamás se envían en una conexión ya encriptadas... eso es básico. Si usases la misma cadena encriptada en la conexión ¿qué sentido tendría? sería igualmente vulnerable.
La idea es que la clave viaja con su texto normal y es MySQL quien internamente la encripta y compara...

Segundo:
Cita:
Instale mysql 4.1 en windows XP, configure el servicio y le asigne al usuario root la clave dbadmin.
¿Por qué instalaste una versión tan vieja y obsoleta? ¿Para qué?
El proyecto MySQL 4.1.x quedó obsoleto, discontinuado y sin soporte hace tres años. Nadie lo usa si no es porque tenga bases muy viejas que por alguna razón no puede migrar, pero no se usa a nivel de web en ningún host (de hecho la mayoría no tiene ni siquiera la 5.0.x, sino la 5.1.x o superiores).
Te comento que como server de aprendizaje tampoco sirve, precisamente por todos los cambios que tuvo, y los bugs que se resolvieron.
Incluso mas: El sistema de administración de claves de MySQL usado por la 4.1.x es obsoleto y no está bien soportado por muchos lenguajes, como PHP, por ejemplo.

¿Es realmente necesario que uses esa basura?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/06/2012, 19:17
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema con password de root en mysql

Gracias por responder!!!!!!!, la situacion es que soy nuevo en la programacion con php, acabo de terminar el curso y esta fue la version con la que maneje el curso y ahi me dieron una copia del programa de instalacion.... es por eso que instale esa version....

Asi mismo te comente la version de apache que tengo es la 2.0 y la de php ves la 4, tengo estas versiones porque fueron las versiones con las cuales generamos la interfaz de php y apache.....

No se si el mysql trabaje de manera independiente y si con la misma sintaxis pueda hacer las conexiones a las bases de datos....?
  #4 (permalink)  
Antiguo 29/06/2012, 19:32
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema con password de root en mysql

GNZSOLOYO:

Mira ya desinstale la version 4.1 es instale la version 5.1 , pero exactamente tengo el mismo problema puse la clave dbamin al usuario root y al desplegar la informacion de la tabla de user me aparece lo siguiente:

HOST: localhost
USER: root
PASWORD: *354A2C82FFA72984AE659BF47BBA109EF0D89CA5 en lugar de dbadmin.

Pero quiero comentarte que en linea de comando si me conecto y el password si es db admin.

pero si me quiero conectar con php no establece la conexion, estoy usando

$con = mysql_connect("localhost","root","dbadmin") or die("no se establecio la conexion");

De antemano gracias por leer y contestar los mensajes
  #5 (permalink)  
Antiguo 29/06/2012, 20:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Problema con password de root en mysql

1) Olvidate de lo que contiene la tabla USERS. Esa tabla no se manipula directamente bajo ningún concepto. Hacerlo es una mala práctica.
Para administrar usuarios se usan las sentencias que existen para esa tarea. Para algo se crearon.
2) Las conexiones son tema de programación, no de BBDD. Se crean en prorgamación y se usan en programación. En otras palabras, los temas de conexiones en PHP es tema del Foro de PHP.
3) Si en command line te conectas, entonces evidentemente no hay problemas con el user ni con el password, ergo, como dije antes, tienes un problema de programación o de configuración del PHP. Pero eso es off-topic de este foro.
4) Lo que sí te puedo aconsejar es que captures el error de MySQL que el servidor le devuelve a PHP. Fijate en las FAQs de PHP cómo abrir la conexión correctamente, y cómo se manejan los errores.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 29/06/2012, 22:51
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Información Respuesta: Problema con password de root en mysql

No creo que mi sutiacion sea de otro foro....... Ya que el problema esta en mysql, ya que mysql me codifico o modifico la clave de root

como yo te comente utilice de password; dbadmin
y mysql lo modifico a: *354a2c82ffa72984ae659bf47bba109ef0d89ca5

la situacion es que necesito que en el registro aparezca como password dbadmin.

Una persona me comento que el password estaba encriptado y que buscara un procedimiento en internet para codificarlo a la palabra dbadmin pero no lo encontre es por eso que recurro a este foro.

Espero no estar comentando alguna tonteria, pero para la conexion que tengo en php la configuracion esta correcta, ya que la aplicacion la empece en el curso y ahora que instale php, apache y mysql en casa me surgio el problema con mysql.

Ahora bien me comentas que la tabal user no se toca entonces como le haria para crear otra tabla que contenga los nombres y password de los usuarios?

De antemano gracias por responder........
  #7 (permalink)  
Antiguo 30/06/2012, 00:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Problema con password de root en mysql

Cita:
Reportar Mensaje

Información Respuesta: Problema con password de root en mysql
No creo que mi sutiacion sea de otro foro....... Ya que el problema esta en mysql, ya que mysql me codifico o modifico la clave de root

como yo te comente utilice de password; dbadmin
y mysql lo modifico a: *354a2c82ffa72984ae659bf47bba109ef0d89ca5

la situacion es que necesito que en el registro aparezca como password dbadmin.

Una persona me comento que el password estaba encriptado y que buscara un procedimiento en internet para codificarlo a la palabra dbadmin pero no lo encontre es por eso que recurro a este foro.
Bueno, en este punto lo que te convendría, entonces, es estudiar lo que son los sistemas de administración de usuarios, y algo de seguridad en base de datos.
Vamos por partes:
Todos los sistemas de bases de datos almacenan las claves de los usuarios en forma encriptada, y JAMÁS lo hacen sin encriptación.
¿Motivo?
Fácil: Seguridad. Una clave sin encriptar en una tabla de la base, es una clave vulnerable, y el sistema es inseguro.
¿Se comprende el concepto?

Para evitar el acceso no autorizado, toda clave se encripta. Pero no sólo eso: La encriptación de MySQL es unidireccional, lo que significa que no tiene desencriptación. Por eso te digo que es MySQL ell que encripta y compara cuando haces el login. En otras palabras, el que te dijo que buscaras como revertirlo, no sabe de qué habla.
(Nota: El detalle de que es unidireccional aparece escrito en el manual de referencia oficial)
Pero todo eso es transparente (invisible) para el usuario y por eso toda tu preocupación por cómo lo guarda o como lo debería guardar no tiene ningún sentido. Lo único importante para el usuario es recordar cuál fue la clave que usó, para poder utilizarla otra vez y poder loguearse. Nada más.
Ahora bien, quiero que esto te quede claro: Jamás vas a lograr que en el registro te aparezca el texto original, porque esa tabla y su contenido de clave los administra MySQL y no tu. Y el algoritmo de encriptación está incrustado en el kernel de MySQL, por lo que no puedes suprimirlo (y no tendría sentido hacerlo).
Olvidate de eso, y preocupate por programar la conexión correctamente. El resto es irrelevante.
Cita:
Ahora bien me comentas que la tabla user no se toca entonces como le haria para crear otra tabla que contenga los nombres y password de los usuarios?
Bien, eso es otro terreno completamente diferente.
Es normal que una aplicación use su propio sistema de registración de usuarios, pero ten en cuenta que como no puedes reemplazar la gestión de usuarios de MySQL, de todos modos esos usuarios de aplicación (como se denominan), deberán loguearse en algún momento con un usuario de MySQL para acceder a los recursos de la base. Eso es inevitable.
Lo que se hace es usar un user que tenga muchos menos privilegios que el root (que no debe usarse para estos menesteres), pero sólo dentro de los scripts, y administrar el acceso al programa en PHP con los usuarios propios, registrados en una tabla que se crea para ello.
No te olvides: El que tu aplicación tenga una tabla de usuarios, no evita que par acceder a MySQL debas usar un user registrado EN MySQL.

¿Se va entendiendo?

Cita:
Espero no estar comentando alguna tonteria, pero para la conexion que tengo en php la configuracion esta correcta, ya que la aplicacion la empece en el curso y ahora que instale php, apache y mysql en casa me surgio el problema con mysql.
El asunto es simple: Si la conexión que pones en PHP está bien programada, y los parámetros son correctos, deberás poder conectarte. Si la conexión no se realiza, hay algún problema en el PHP, sea por clave, por user, por conector, por librería o por restricciones de puertos. Pero hay un problema allí,
El tema es saber si MySQL está devolviendo un error cuando intentas conectarte. Con eso sería mucho más sencillo saber qué es lo que pasa-
Captura el número de error o el mensaje, pero captura algo., y luego postealo acá.

Tip 1: Por seguridad, es conveniente que tanto el username como el password que almacenes en la tabla de usuarios de tu aplicación se encuentren encriptados.
En el manual encontrarás varias funciones específicas de MySQL para encriptación y desencriptación de cadenas.

Tip 2: Existe entre esas funciones la PASSWORD(), que genera la cadena encriptada que MySQL almacena en la tabla users, pero recuerda que esa encriptación no es reversible.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 30/06/2012 a las 00:37
  #8 (permalink)  
Antiguo 30/06/2012, 21:52
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema con password de root en mysql

Muchas Gracias por tu tiempo!!!!!!!

Mira te mando la sintaxis del archivo de conexion:

<?
/* conexion al servidor de base de datos*/
$con = mysql_connect("localhost","root","dbadmin");
/* enlace a la base de datos */
mysql_select_db("dirvisitantes",$con);
?>

y los errores que me arrojan son los siguientes:

Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Archivos de programa\Apache Group\Apache2\htdocs\dirvisita\conexion.php on line 3

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Archivos de programa\Apache Group\Apache2\htdocs\dirvisita\conexion.php on line 5

Te comento que tengo instalada la version mysql 5.1...... nuevamente muchas gracias y espero me puedas ayudar y decirme que puedo hacer para solucionar este tipo de problema?........ Saludos!!!!!!!!!!
  #9 (permalink)  
Antiguo 01/07/2012, 07:12
Avatar de jomaruro
Colaborador
 
Fecha de Ingreso: junio-2002
Ubicación: Naboo
Mensajes: 5.442
Antigüedad: 17 años, 5 meses
Puntos: 361
Respuesta: Problema con password de root en mysql

Hola:

Cita:
Iniciado por vcasa10 Ver Mensaje
Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in C:\Archivos de programa\Apache Group\Apache2\htdocs\dirvisita\conexion.php on line 3

Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Archivos de programa\Apache Group\Apache2\htdocs\dirvisita\conexion.php on line 5
Falta saber que ver que tienes en las lineas 3 y 5 del archivo conexion.php, aparte de que lo dice bien claro:

Client does not support authentication protocol requested by server => El cliente no es compatible con el protocolo de autenticación solicitado por el servidor.

y

mysql_select_db(): supplied argument is not a valid MySQL-Link resource => mysql_select_db (): el argumento suministrado no es un recurso válido MySQL-Link

Pienso que el problema está que al no ser la misma versión de MySQL que usabas hay alguna incompatibilidad en tu código php.

Saludos.


Última edición por jomaruro; 01/07/2012 a las 07:18
  #10 (permalink)  
Antiguo 01/07/2012, 08:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: Problema con password de root en mysql

El segundo mensaje es medio irrelevante. Es el resultado esperado de una conexión fallida, o de una consulta fracasada por alguna razón.
Pero lo más relevante es lo que dice @jomaruro:
Cita:
Client does not support authentication protocol requested by server
Eso significa simple y sencillamente que el cliente pHP que estás usando no soporta el protocolo de conexión del servidor.
La pregunta es, entonces: ¿Qué estás usando? ¿Qué versión de PHP, y qué librería para MySQL usa ese PHP?

¿Qué paquete usaste para instalar el conjunto MySQ+PHP+Apache?

Parecería que la cosa anda también por allí...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 01/07/2012, 21:49
 
Fecha de Ingreso: junio-2012
Mensajes: 8
Antigüedad: 7 años, 5 meses
Puntos: 0
Respuesta: Problema con password de root en mysql

Gnzsoloyo:

Te comento no utilice ninguna aplicacion, instale cada aplicacion por separado, baje el php 5, el apache 2.2 y mysql 5.1...... El php y apache fundionan correctamente, con el que tenia problemas era con el mysql..... Pero hable a l instituto donde me dieron el curso y me comentaron que el tipo de encriptacion de mysql era el problema y me explicaron el proceso para cambiar el tipo de encriptacion y ya funciona corectamente las tres aplicaciones......

Agradezco muchisimo el tiempo brindado en mi apoyo, espero no dar mucha lata en el foro.......



Jamaruro:

Habia posteado el archivo de conexion pero de todas maneras agradezco el tiempo que dedicaste en leer mi problema y dar tu aportacion.......


Saludos a los dos!!!!!!!!!!!!!!!!!!!!!!!

Etiquetas: password, php, root, sql, tabla
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 17:19.