I suppose I should post this in a Rails mailing list or wiki, but the
medium I’m used to is USENET, so I thought I’d try here first. (I don’t
think there’s a Rails newsgroup - please correct me if I’m wrong -
and I see some Rails postings here sometimes, so I’m assuming this
is appropriate.)
I’m using the book “Ajax on Rails” to learn about Rails development and
after following along for the first example, in chapter 2 (pg 20), I’m
encountering the error:
#28000Access denied for user ‘root’@‘localhost’ (using password: NO)
This happens with the browser pointed to (as the book says to do):
(which was after doing ‘rails ajaxonrails; cd ajaxonrails’ and starting
the server)
I suspect the problem is that the book forgot to tell me that I need to
create a database for the application and configure it. Is this the
case or should a database not be needed yet at this point - perhaps
something unforeseen is going wrong?
The complete error message I’m getting is:
Mysql::Error in Chapter2Controller#myaction
#28000Access denied for user ‘root’@‘localhost’ (using password: NO)
I have had some issues using a blank mysql password / no password on
some boxes. Not sure if it’s rails or mysql, but try using a password.
Sent wirelessly via BlackBerry from T-Mobile.
#28000Access denied for user ‘root’@‘localhost’ (using password: NO)
the server) #28000Access denied for user ‘root’@‘localhost’ (using password: NO)
Thanks!
I found a fix for the problem, so I’ll answer my own question in case it
will help someone else with the same problem.
I did the following things to fix it:
run mysql_setpermission and use its interactive interface to allow
the
mysql root user to do everything (need to know the mysql root pw).
use the mysql command to connect as root and create the needed
database
(in this case, ajaxonrails_development).
In database.yml, make sure username is root and fill in the password
field for the mysql root pw (or change the username to another mysql
user and the password to that user’s password).
(Running mysql 14.12 on ubuntu 8.04 with rails 2.0.2-1; mysql, installed
via apt-get, was apparently initialized with only ordinary user
privileges for root.)
This happens generally when the mysql is not reached by the rails
applicaiton…
Probably there must be some super user/sudo user who need to grant the
acces
permissions for mysql to get connected.
If you can conntect using ruby script/console you can be aware of much
whats
is going on the command.