yes usuario servidor password para incapaz for denegado conectar acceso php mysql access-denied

servidor - "Falló la conexión: Acceso denegado para el usuario ''root'' @ ''localhost''(usando la contraseña: YES)" de la función php



acceso denegado para el usuario ''root'' @ ''localhost''(using password yes) (9)

Aquí tal vez?

Creo que el código debería ser:


$connect = new mysqli("host", "root", "", "dbname");

porque root no tiene una contraseña. el (using password: YES) dice "estás usando una contraseña con este usuario"

Escribí alguna función utilizada por una página web php, para interactuar con una base de datos mysql. Cuando los pruebo en mi servidor obtengo este error:

"Connect failed: Access denied for user ''root''@''localhost'' (using password: YES)"

Puedo usarlos en mi pc (usando XAMPP) y puedo navegar por las tablas de la base de datos usando la línea de comando en el servidor. Sin embargo, la página web no se puede conectar. Revisé la contraseña pero sin resultados. Es correcto (de lo contrario, no podría iniciar sesión en mysql desde la línea de comandos).

La llamada de la función es la siguiente:

$conn = new mysqli("localhost", "root", "password", "shop");

¿Tengo que configurar algo en mi servidor? Gracias

Edición: PHP versión 5.3.3-7 + squeeze1 versión de mysql: 5.1.49-3 ambos en debian


¿Hay una entrada de cuenta de usuario en la base de datos para root @ localhost? En MySQL puede establecer diferentes permisos de cuenta de usuario por host. Puede haber varias cuentas diferentes con el mismo nombre combinado con el host desde el que se conectan. Los más comunes son [email protected] y root @ localhost. Estos pueden tener diferentes contraseñas y permisos. Asegúrese de que exista root @ localhost y que tenga la configuración que espera.

Estoy dispuesto a apostar, basado en su explicación, que este es el problema. Conectarse desde otra PC utiliza una cuenta diferente de root @ localhost y la línea de comando creo que se conecta usando [email protected].


Edite sus privilegios en PHPmyAdmin (WAMP). Tenga en cuenta que su contraseña y nombre de usuario no se han creado. Así que créelo o edítelo, para que funcione con su conexión sql en su php. Espero que funcione


Intente inicializar sus variables y utilícelas en su objeto de conexión:

$username ="root"; $password = "password"; $host = "localhost"; $table = "shop"; $conn = new mysqli("$host", "$username", "$password", "$table");


Lo más probable es que no identifique a su usuario correctamente. root @ localhost. Seleccione la versión Mysql que está usando su MAMP.

/Applications/MAMP/Library/bin/mysqldump -uroot -p db_name > test_db_dump.sql

De hecho, escribí un alias en mi computadora, así que no tengo que recordar cómo llegar al directorio bin.

alias mysqldumpMAMP=''/Applications/MAMP/Library/bin/mysqldump''

Lo cual me permite ejecutar esto:

mysqldumpMAMP -uroot -p db_name > test_db_dump.sql

Puede guardar un alias en su perfil bash ~/.bash_profile o ~/.bash_rc


Lo resolví de esta manera: inicié sesión con mi nombre de usuario raíz

mysql -u root -p -h localhost

Creé un nuevo usuario con

CREATE USER ''francesco''@''localhost'' IDENTIFIED BY ''some_pass'';

luego creé la base de datos

CREATE DATABASE shop;

Otorgué privilegios para el nuevo usuario para esta base de datos

GRANT ALL PRIVILEGES ON shop.* TO ''francesco''@''localhost'';

Luego cerré sesión y entré al nuevo usuario

quit; mysql -u francesco -p -h localhost

Reconstruí mi base de datos usando una secuencia de comandos

source shop.sql;

Y eso es todo ... Ahora, desde php funciona sin problemas con la llamada

$conn = new mysqli("localhost", "francesco", "some_pass", "shop");

Gracias a todos por su tiempo :)


Por lo que has dicho hasta ahora, parece un problema que el controlador MySQL en PHP5.3 tenga problemas para conectarse a la versión anterior de MySQL 4.1. Eche un vistazo en bitshop.com/Blogs/tabid/95/EntryId/67/…

Hay una pregunta similar aquí con algunas respuestas útiles, No se puede conectar a MySQL 4.1+ usando autenticación antigua

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user

Esto devolverá 16 para las cuentas con contraseñas antiguas y 41 para las cuentas con contraseñas nuevas (y 0 para las cuentas sin contraseña en absoluto, es posible que también quiera ocuparse de las mismas). Utilice las herramientas de administración de usuarios de la interfaz de MySQL (si hay alguna) o

SET PASSWORD FOR ''User''@''Host''=PASSWORD(''yourpassword''); FLUSH Privileges


También tuve este problema. Pero esto fue por otra razón. Mi contraseña comenzó con el carácter $ ... por ejemplo $MyPassword Lo cambié a #MyPassword y el problema está resuelto.


PROPINA:

comente el archivo pid y socket, si no puede conectarse al servidor ... mysql podría estar conectado con un archivo pid y / o socket incorrecto, de modo que cuando intente conectarse al servidor a través de la línea de comando, "busque" el pid incorrecto / archivo de socket ...

### comment out pid and socket file, if you can''t connect to server..
#pid-file=/var/run/mysql/mysqld.pid #socket=/var/lib/mysql/mysql.sock