Rails and Mysql2 Access denied for user 'root'@'localhost' (using password: NO)

spongezh22 picture spongezh22 · Feb 12, 2014 · Viewed 59.6k times · Source

I am somewhat new to Rails, and much of my experience involves me feeling out how to work out the problem so I apologize in advance if I have missed and obvious solution. I run a Windows machine.

I am creating a log-in and registration using mysql2. MySQL installer has already been used to install the server, workbench, etc. (I configured the root password as password) and I have already installed the mysql2 gem.

The rails was bundled successfully but when I entered rake db:create, the error Access denied for user 'root'@'localhost' (using password: NO) occurred.

Rails then prompted me for my password, I entered it but the error occurred again. After entering my password the second time, it seemed as if it worked fine until I tried to do a rails db:migrate wherein the error appeared again making it not possible to migrate.

This confuses me because in the MySQL query, I have my password set as the same one I entered. I tried giving the 'root' user all the schema privileges, but that made no difference. Please tell me how to solve this problem and thank you.

If you have any questions about my question, please ask.

Answer

zombie_ghast picture zombie_ghast · Nov 24, 2015

for me helped

$ mysql -u root -p

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword')

and in databse.yml

development:
adapter: mysql2
database: mydb
host: localhost
username: root
password: "mypassword" #I had an empty string here before

thanks to @spongezh22