mySQL: ERROR 1045: Access denied for user 'root'@'localhost' (using password: NO)

Hello, I am using InstantRails 2.0 on windows. When building an app,I get this error when hit the browser(Action ControllerException caught):

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

Hello, I am using InstantRails 2.0 on windows. When building an app,I get this error when hit the browser(Action ControllerException caught):

Access denied for user 'root'@'localhost' (using password: NO) ----------------------------------------------------------------------------------------------- The database.yml file is configured like this: # MySQL. Versions 4.1 and 5.0 are recommended. # # Install the MySQL driver: # gem install mysql # On Mac OS X: # sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql # On Mac OS X Leopard: # sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql- config=/usr/local/mysql/bin/mysql_config # This sets the ARCHFLAGS environment variable to your native architecture # On Windows: # gem install mysql # Choose the win32 build. # Install MySQL and put its /bin directory on your path. # # And be sure to use new-style password hashing: # http://dev.mysql.com/doc/refman/5.0/en/old-client.html development: adapter: mysql encoding: utf8 database: library_development username: root password: password

This suggests that you have put a password in database.yml, but the error suggests there is no password. Is there a password in database.yml?

Have you checked that you can access the database via mysql using root and whatever password is in this file?

I *think* that you may need to restart the server if you change database.yml.

Finally instantrails is very old, unless it has been recently updated. If you *must* do development on Windows then I think railsinstaller is currently recommended. Most would say that it is better to use Mac or Linux (I use Ubuntu). It is possible to do the development in a virtual machine such as vmware or virtualbox running Ubuntu on the windows host if you must use windows.

Colin

In a 'ruby console' window you can use the mysql commands. You should be able to do something like 'mysql -u root -ppassword library_development' If this does not work it means you have a missmatch between the password and what mysql has as the password.

If that works you might look closely at the database.yml. It is picky about format and tabs cause problems.

Can you access the database ok using MysqlAdmin?

InstantRails works fine within its limitations. I use it all of the time for my limited purpose.

Norm

Thanks Norm! I fixed the error.I used a wrong password in database.yml. And sorry for delayed response. Thanks for your response :slight_smile:

Sorry for delayed response,Colin. Your advice helped and I fixed the error. Thanks !