| |||
| obtengo el error 'access denied for user ''@'localhost' buenas, una vez mas acudo a uds para ver si me pueden dar una mano con este problema. Estoy queriendo instalar el Apache+PhpMyAdmin+MySQL en un FEDORA CORE 6. Apache y PHP los instale sin problemas, pero el MySQL me esta dando más que un gran dolor de cabeza y una perdida de valioso tiempo. Despues de haber instalado el servidor MySQL me dispuse a cambiar el password del user root y empezar a trabajar en el tema de los permisos. Pero resulta que parece que el user root no existe inicio el servicio con: # service mysqld start hasta ahi todo bien, quiero ingresar como superusuario para hacer lo que quiera. # mysql -u root El sistema me devuelve Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 to server version: 5.0.27 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql# GENIAL! pero NO! casi cualkier cosa que quiera hacer me devuelve el error Access denied for user ''@'localhost' ... intente reinstalarlo y me dio el mismo resultado, intente cambiarle el password al root como sigue: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); y me devuelve "Can't find any matching row in the user table" por lo que supongo que el user root no existe en la tabla user lo cual es bastante raro. Osea que en definitiva no se con que user ingrese al sistema. dehabilite el cortafuegos (firewall) de linux y tampoco, lo ultimo que encontre por internet fue utilizar el comando 'flush privileges' y me dijo q para hacerlo necesito el permiso de RELOAD. Ando un poco perdido ya a esta altura, la sintaxis de ORACLE no la tengo muy bien estudiada, select, grant y todo lo demas. Cualkier orientacion que me puedan dar es bienvenida ya que estoy un poco cansado de lidiar con este tema, sobre todo cuando en Windows fue super sencillo y casi una cosa de solo darle click al boton 'siguiente'. Gracias de antemano. Última edición por chelix; 08/06/2007 a las 04:34 |
| |||
| Re: obtengo el error 'access denied for user ''@'localhost' Gracias deadlykyo por la respuesta, pero desafortunadamente al hacer la consulta me sale el mismo error de siempre, creo que tendria q modificar algun archivo de configuracion o algo para poder ejecutar consultas ya que me impide hacer cualkier cosa. Te muestro lo que me dice cuando intento hacer consultas como la que dices, es evidente que el user con el que se loguea no tiene permisos para hacer nada. mysql> select Host, User from mysql.user; ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user' Luego probé ejecutar el script mysql_install_db, para empezar supuestamente de 0, pero no hay caso, me dijeron por ahi que me estoy logueando con un usuario vacio lo cual tiene sentido dado el error, pero por otro lado al phpMyAdmin me logueo con 'root' y sin contraseña y entro, ahora una vez dentro dicho usuario no tiene ningun privilegio pr lo que no puedo hacer nada! Si a alguien le paso algo similar por favor una ayuda, incluso probé loguearme uasndo 'mysql -uroot', 'mysql -u root' y 'mysql --user=root' y en los 3 casos pasa lo mismo. Última edición por chelix; 08/06/2007 a las 15:22 |
| |||
| Re: obtengo el error 'access denied for user ''@'localhost' Bueno, despues de darme varias veces contra la pared la cabeza, logre solucionar el problema. Posteo la solucion ya que creo que le va a servir a mas de uno. El problema que yo tenia era que al parecer se habian modificado los privilegios del user root. Quedando este sin NINGUN privilegio, y como a su vez no habia ningun otro user creado, sencillamente no podia acceder a ninguna tabla ni modificar nada, a pesar de reinstalar el servidro de MySQL y de intentar un sinfin de soluciones, di con la que me sirvio en una pagina de internet, mi problema era que ejecutaba el comando 'mysqld' en vez de 'mysqld_safe', pequeño GRAN detalle al parecer ya que uno si me acepta la opcion '--skip-grant-tables' y el otro no. La solucion esta en solotuweb (punto) com, y busquen con algo como rescatando root en mysql o similar. Les dejo a los moderadores la posibilidad de incluir la solucion en algun FAQ, ya que por lo menos a mi me dio mucho trabajo dar con ella. Saludos |
| |||
| yo me stuve pegando en la cabeza con ese mismo problema, hasta q encontre http://www.solotuweb.com/vc~t~Rescatando-la-ROOT-en-MySQL~id~5501.html les explico brevemente, ojala les sirva como a mi q me saco de un gran apuro ![]() 1: en la shell: mysqld_safe --skip-grant-tables si sta en servicio /etc/init.d/mysql stop y ya welven a poner el comando y se les qedara como paralizada..Abran otra consola 2: En la consola nueva logueate como root sin pass, te debe permitir hacerlo sin problemas. 3: use mysql; Esto debe permitirte sin problemas cosa q no pasaba antes!!!4: yo lo q hice fue un select Host, User,Password from user; esto pa q me mostrara los q no tenian password y despues un Delete from user where User=''; 5: Hecho esto y no olvidar un flush privileges; Y problema resuelto, cualqier duda pregunten o mas bien cheqen el enlaze q explica muy bien http://www.solotuweb.com/vc~t~Rescatando-la-ROOT-en-MySQL~id~5501.html ![]() |
| |||
| Respuesta: obtengo el error 'access denied for user ''@'localhost' Me pasa lo mismo que a tí pero en windows. ¿Dices que en windows no te dio ningún problema? Yo he instalado el paquete The AppServ Open Project - 2.5.10 for Windows dejándolo todo por defecto y me da el fallo que comentas. Si le pongo mysql_connect("localhost") me conecta bien, pero a la hora de crear bd con mysql_query("CREATE DATABASE nombre_bd") me da el fallo de access denied for user ''@'localhost. ¿Alguna idea? Gracias. |