Problema con mysql!

Wenas! Tengo gentoo y emergee apache, php y mysql... bueno pues apache con php funcionan perfectamente, y para administrar la base de datos emergee phpmyadmin, con login root y pass en blanco, pero no me lo reconoce, me dice que no estoy autorizado, y si escribo en mysql SET PASSWORD FOR root..... = "pass";

me dice Ok pero luego en phpmyadmin tp me reconoce esa pass...

¿Cómo puedo arreglarlo?


Gracias ;)
Haz un flush privileges;
Nada, lo mismo, me dice esto phpmyadmin:

Error

MySQL said: Documentation
#1045 - Access denied for user: 'root@localhost' (Using password: YES)
Sepho escribió:Nada, lo mismo, me dice esto phpmyadmin:

Error

MySQL said: Documentation
#1045 - Access denied for user: 'root@localhost' (Using password: YES)


Nosé a mi a veces también me ha pasado es una cosa muy rara... lo solucione bajandome a piñon de la web de phpmyadmin la última versión i funciona a la perfección.

Salu2 ;) (yo nunca he instalado phpmyadmin via emerge ni apt-get ni na.. a pelu..)
en el phpmyadmin hay un archivo de configuracion, donde se pone el user y la pass del sistema mysql
prueba una de estas dos cosas, las he sacado de la pagina de mysql:

#############
In a Unix environment, the procedure for resetting the root password is as follows:
1. Log on to your system as either the Unix root user or as the same user that the mysqld server runs as.

2. Locate the .pid file that contains the server's process ID. The exact location and name of this file depend on your distribution, hostname, and configuration. Common locations are /var/lib/mysql/, /var/run/mysqld/, and /usr/local/mysql/data/. Generally, the filename has the extension of .pid and begins with either mysqld or your system's hostname.
You can stop the MySQL server by sending a normal kill (not kill -9) to the mysqld process, using the pathname of the .pid file in the following command:
shell> kill `cat /mysql-data-directory/host_name.pid`
Note the use of backticks rather than forward quotes with the cat command; these cause the output of cat to be substituted into the kill command.

3. Create a text file and place the following command within it on a single line:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
Save the file with any name. For this example the file will be ~/mysql-init.

4.Restart the MySQL server with the special --init-file=~/mysql-init option:

shell> mysqld_safe --init-file=~/mysql-init &

The contents of the init-file are executed at server startup, changing the root password. After the server has started successfully you should delete ~/mysql-init.
5.You should be able to connect using the new password.

################

Alternatively, on any platform, you can set the new password using the mysql client(but this approach is less secure):

1. Stop mysqld and restart it with the --skip-grant-tables --user=root option (Windows users omit the --user=root portion).
2. Connect to the mysqld server with this command:
shell> mysql -u root

3. Issue the following statements in the mysql client:

mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;

Replace ``newpwd'' with the actual root password that you want to use.
4. You should be able to connect using the new password.

##############

si no te funciona ninguna de las dos opciones, comentalo!

y si funciona, pues tambien :)
A mí me ha pasado también en varias ocasiones, ahora no recuerdo la solución pero la tiene. Creo que es un tema de versiones entre mysql y phpmyadmin, porque en el mysql te logas bien, pero no puedes entrar en el phpmyadmin. Prueba a instalar las últimas versiones de ambos si no te funciona lo que dice DooBie.
Nada, he probado eso y nada, lo curioso es que si hago mysql -u root y pongo todo lo de SET PASSWORD..... me dice a todo que OK pero si salgo de mysql y pongo mysql -u root -p, me pide la pass, y al meterla me dice que es incorrecta O_o
edita el fichero ../phpmyadmin/config.inc.php
y busca estas lineas
lo configuras tal cual, cambiano solamente lo de PASSWORD_ROOT por la password que le has puesto a root de mysql, no root del sistema
debes especificar una contraseña, no puede estar vacio, aunque en mysql este vacio, es necesario que la contraseña este "seteada"

...
$cfg['Servers'][$i]['host'] = 'localhost';
$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'] = 'root';
$cfg['Servers'][$i]['password'] = 'PASSWORD_ROOT';
...


si no funciona, comentalo de nuevo.

podrias decir que versiones de phpmyadmin y mysql tienes instaldas

saludos!

EDITO: acabo de echarle un ojo a la documentacion de phpmyadmin, y me he topado con esto:
[2.6] I get an "Access denied for user: 'root@localhost' (Using password: YES)"-error when trying to access a MySQL-Server on a host which is port-forwarded for my localhost.

When you are using a port on your localhost, which you redirect via port-forwarding to another host, MySQL is not resolving the localhost as expected.
Erik Wasser explains: The solution is: if your host is "localhost" MySQL (the commandline tool 'mysql' as well) always tries to use the socket connection for speeding up things. And that doesn't work in this configuration with port forwarding.
If you enter "127.0.0.1" as hostname, everything is right and MySQL uses the TCP connection.


creo que ahi tienes la solucion
Gracias a todos por responder, al final lo solucione desinstalando mysql, emergiendo de nuevo y siguiendo un manual de gentoo.


Gracias!
9 respuestas