MySql Error 1045 after I did rake db:create
Solution 1
You might try and access MySQL using the Terminal.app. At the command line run:
mysql -u root
if you expect the root password to be blank and yet see this:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
You know the password has been changed.
Sounds like the root password has been changed. If you do not know what it is, follow these instructions to reset the password:Resetting MySQL password.
Solution 2
This answer is in connection with Ruby on Rails framework where this behavior occurred
- have mysql with user root and password
- bootstrap new rails project
using with mysql "rails new projectname
-d mysql" - do not modify config/database.yml - defaults credentials for server are name: root, password is blank
- rake db:create prompt show up - asking for root password and then when you provide root password
the answer is in GRANT command on line 68 in here
basically it executed GRANT command with credentials matches your current database.yml
I have discussed this topic and behavior will improved and it is taken and reported as a bug.
Comments
-
Webspirit almost 2 years
I created a new Rails project, I used scaffold and then tried to:
rake db:create
I didn't changed config/database.yml so password was empty (I always enter the password I use to log in to localhost/phpmyadmin but this time I forgot it).
development: adapter: mysql2 encoding: utf8 reconnect: false database: test_associations_development pool: 5 username: root password: socket: /tmp/mysql.sock
So, back to terminal I had the following message:
$ rake db:create Access denied for user 'root'@'localhost' (using password: NO). Please provide the root password for your mysql installation
>*******
(I entered my password here)$ rake db:create rake aborted! (<unknown>): couldn't parse YAML at line 31 column 2 Tasks: TOP => db:create => db:load_config (See full trace by running task with --trace)
After this, I cannot login to phpmyadmin and when I run my apps locally I'm getting this error:
Mysql2::Error Access denied for user 'root'@'localhost' (using password: YES)
I'm using OS X 10.7.2, Rails 3.2, Ruby 1.9.3.
Any ideas?
-
Webspirit about 12 yearsProblem solved using the following commands:
mysql -u root (no password needed)
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('myPassword');
Thank you! -
cameck about 7 yearsPlus +1 for "defaults credentials for server are name: root, password is blank"
-
rohanagarwal over 6 yearsin my case what happened is: there were two passwords - one for dev db and one for test db, i forgot to change the password for test db, ran rake, and it changed the password for my user to test password in the yml file.