Ask A Question


You’re not receiving notifications from this thread.

Mysql2::Error::ConnectionError: Access denied for user 'root'@'localhost' (using password: NO)

Migue9936 asked in Databases

Hello, I have problems with my connection to mysql and rails, when I access mysql through the terminal with the root user I have no problem, but when I do a db: create rails but I get the error that is in the title.


If you are using Homebrew and Mac for the MySQL installation, try this :


Try this on your database.yml:

default: &default
adapter: mysql2
username: root
socket: /tmp/mysql.sock

Mysql usually come with auth_socket as default authentication plugin, if you want to use authentication by password, you must change the user's authentication plugin to caching_sha2_password.

You can try to run this on MySQL terminal:

mysql> CREATE USER ‘username’@‘localhost’ IDENTIFIED BY ‘password’;
mysql> GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';

Then you should be good to go.


Thank u so much for taking time to help.


I have some issue - best place to ask?


Thanks for your help guys

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 79,047+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.

    Screencast tutorials to help you learn Ruby on Rails, Javascript, Hotwire, Turbo, Stimulus.js, PostgreSQL, MySQL, Ubuntu, and more.

    © 2023 GoRails, LLC. All rights reserved.