yes sqlstate postgres pdoexception password hy000 for failed error connected attempt php mysql cakephp cakephp-3.0

php - postgres - pdoexception sqlstate hy000 1045 access denied for user



SQLSTATE[HY000][1045] Acceso denegado para el usuario ''username'' @ ''localhost'' usando CakePhp (5)

Compruebe las siguientes cosas

  • Asegúrese de tener el servidor MySQL en ejecución
  • Verifique la conexión con las credenciales predeterminadas, es decir, nombre de usuario: ''root'' y contraseña: '''' [Contraseña en blanco]
  • Intente iniciar sesión phpmyadmin con las mismas credenciales
  • Trate de poner 127.0.0.1 en lugar de localhost o su LAN lan también.
  • Asegúrese de que está ejecutando MySql en 3306 y si lo ha configurado, asegúrese de indicarlo mientras realiza una conexión

Soy nuevo en PHP y CakePHP. Encontrar problemas al cablear mi base de datos usando CakePhp.

A continuación se muestra la configuración de mi aplicación. Estoy en la pila WAMP de Bitnami 5.4.40-0 Estoy usando CakePhp 3.0.4 para crear una aplicación web mvc

Entrada para fuentes de datos en mi archivo app.php

/** * Connection information used by the ORM to connect * to your application''s datastores. * Drivers include Mysql Postgres Sqlite Sqlserver * See vendor/cakephp/cakephp/src/Database/Driver for complete list */ ''Datasources'' => [ ''default'' => [ ''className'' => ''Cake/Database/Connection'', ''driver'' => ''Cake/Database/Driver/Mysql'', ''persistent'' => false, ''host'' => ''localhost'', /** * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //''port'' => ''nonstandard_port_number'', ''username'' => ''test2'', ''password'' => ''computer'', ''database'' => ''jobs'', ''encoding'' => ''utf8'', ''timezone'' => ''UTC'', ''cacheMetadata'' => true, /** * Set identifier quoting to true if you are using reserved words or * special characters in your table or column names. Enabling this * setting will result in queries built using the Query Builder having * identifiers quoted when creating SQL. It should be noted that this * decreases performance because each query needs to be traversed and * manipulated before being executed. */ ''quoteIdentifiers'' => false, /** * During development, if using MySQL < 5.6, uncommenting the * following line could boost the speed at which schema metadata is * fetched from the database. It can also be set directly with the * mysql configuration directive ''innodb_stats_on_metadata = 0'' * which is the recommended value in production environments */ //''init'' => [''SET GLOBAL innodb_stats_on_metadata = 0''], ],

Ya he creado una tabla de base de datos llamada trabajos según las convenciones de CakePhp. El usuario test2 tiene privilegios globales igual que el administrador raíz.

Pero cuando estoy ejecutando el comando hornear todo. Estoy teniendo el siguiente error

2015-07-01 06:24:56 Error: [PDOException] SQLSTATE[HY000] [1045] Access denied for user ''test2''@''localhost'' (using password: YES) Stack Trace: C:/Bitnami/wampstack-5.4.40-0/apache2/htdocs/myjobs/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php(48): PDO->__construct(''mysql:host=127....'', ''test2'', ''computer'', Array) C:/Bitnami/wampstack-5.4.40-0/apache2/htdocs/myjobs/vendor/cakephp/cakephp/src/Database/Driver/Mysql.php(89): Cake/Database/Driver/Mysql->_connect(''mysql:host=127....'', Array) C:/Bitnami/wampstack-5.4.40-0/apache2/htdocs/myjobs/vendor/cakephp/cakephp/src/Database/Schema/BaseSchema.php(46): Cake/Database/Driver/Mysql->connect()

Problema solucionado (actualización)

Seguí las instrucciones de Ankit y Spencer.

Tuve un par de problemas.

  1. El host de mi usuario no era localhost, era un% comodín. Cambiado eso, entonces mysql comenzó a rechazar las conexiones.

  2. Deshabilité mi firewall y encontré que el puerto era diferente de 3306. Así que cambié la entrada en app.php. Ahora mi aplicación está horneada :)


Ese mensaje de error generalmente significa que la contraseña que está utilizando no coincide con la que MySQL cree que debe ser la contraseña para el usuario con el que se está conectando, o que no existe un usuario de MySQL que coincida (no se ha creado).

En MySQL, un usuario se identifica con un nombre de usuario ( test2 ) y un host ( localhost ).

El mensaje de error que está recibiendo identifica los valores de user (prueba2) y host (localhost) ...

''test2''@''localhost''

Verifique si ese usuario existe, usando esta consulta de un cliente desde el cual puede conectarse:

SELECT user, host FROM mysql.user

Está buscando una fila que tenga test2 para usuario y localhost para host.

user host ------- ----------- test2 127.0.0.1 test2 ::1 test2 localhost

Si esa fila no existe, entonces el host puede configurarse con un valor comodín de % , para que coincida con cualquier otro host que no coincida.

Si la fila existe, entonces la contraseña puede no coincidir. Puede cambiar la contraseña (si está conectado como usuario con suficientes privilegios, por ejemplo, root

SET PASSWORD FOR ''test2''@''localhost'' = PASSWORD(''mysecretcleartextpassword'')

También verifique que el usuario tenga privilegios sobre los objetos en la base de datos.

GRANT SELECT ON jobs.* TO ''test2''@''localhost''


Quiero agregar a las respuestas publicadas anteriormente que ninguna de las soluciones propuestas aquí funcionó para mí. Mi WAMP, está trabajando en el puerto 3308 en lugar de 3306, que es lo que se instala por defecto. Descubrí que cuando trabaja en un entorno local, si está usando mysqladmin en su computadora (para el entorno de prueba), y si está trabajando con un puerto diferente al 3306, debe definir su variable DB_SERVER con el valor localhost: NumberOfThePort, así que tendrá el siguiente aspecto: define ("DB_SERVER", "localhost: 3308"). Puede obtener este valor haciendo clic derecho en el ícono de WAMP en su barra de tareas (en la sección de íconos ocultos) y seleccionando Herramientas. Verá la sección: "Puerto utilizado por MySQL: NumberOfThePort"

Esto arreglará su conexión a su base de datos.

Este fue el error que obtuve: Error: SQLSTATE [HY1045] Acceso denegado para el usuario ''username'' @ ''localhost'' en la línea X.

Espero que esto te ayude.

:)


Si usa MAMP, puede que tenga que configurar el socket: unix_socket: /Applications/MAMP/tmp/mysql/mysql.sock


Vi su solución pero todavía quiero compartir una solución que funcionó para mí.

archivo .env:

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=[your database name] DB_USERNAME=[your mysql username] DB_PASSWORD=[your mysql password]

administrador de mysql

SELECT user, host FROM mysql.user

gracias spencer7593

consola:

php artisan cache:clear php artisan config:cache

ahora funciona para mi. Respuestas de laracasts