SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' using CakePHP

后端 未结 5 1810
温柔的废话
温柔的废话 2020-11-27 19:23

I am new to PHP and CakePHP. I am finding problems while wiring my database using CakePHP.

Below is my application configuration.

I am on Bitnami WAMP stack

5条回答
  •  失恋的感觉
    2020-11-27 20:03

    That error message usually means that either the password we are using doesn't match what MySQL thinks the password should be for the user we're connecting as, or a matching MySQL user doesn't exist (hasn't been created).

    In MySQL, a user is identified by both a username ("test2") and a host ("localhost").

    The error message identifies the user ("test2") and the host ("localhost") values...

      'test2'@'localhost'
    

    We can check to see if the user exists, using this query from a client we can connect from:

     SELECT user, host FROM mysql.user
    

    We're looking for a row that has "test2" for user, and "localhost" for host.

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

    If that row doesn't exist, then the host may be set to wildcard value of %, to match any other host that isn't a match.

    If the row exists, then the password may not match. We can change the password (if we're connected as a user with sufficient privileges, e.g. root

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

    We can also verify that the user has privileges on objects in the database.

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

    EDIT

    If we make changes to mysql privilege tables with DML operations (INSERT,UPDATE,DELETE), those changes will not take effect until MySQL re-reads the tables. We can make changes effective by forcing a re-read with a FLUSH PRIVILEGES statement, executed by a privileged user.

提交回复
热议问题