Re: a newbie doomed in the first introduction to rails


#1

Hello,

Thank you for the fast responses, I really appreciate. I really enjoy
being
a part of such a great community.

I still could not solve my problem. To make sure that I can not connect
beacuse of access rights, I have started mysql server
–skip-grant-tables
option. (I have read the part of the manual about access rights, which I
was
to read in this list, but 4 AM in the morning, I had hard time to
decipher
what I read). User name and passwords are no longer required. I can
even
connect with empty usernames and passwords with mysql administrator
program.

I may have problem with this socket or TCP/IP thing. The database.yml
file
that is generated by rails looks little different from what I see in the
book. Below is my database.yml file.

===================================

MySQL (default setup). Versions 4.1 and 5.0 are recommended.

Get the fast C bindings:

gem install mysql

(on OS X: gem install mysql – --include=/usr/local/lib)

And be sure to use new-style password hashing:

http://dev.mysql.com/doc/refman/5.0/en/old-client.html

development:
adapter: mysql
database: depot_development
username:
password:

socket: /path/to/your/mysql.sock

Connect on a TCP socket. If omitted, the adapter will connect on

the

domain socket given by socket instead.

host: localhost
#port: 3306

Warning: The database defined as ‘test’ will be erased and

re-generated from your development database when you run ‘rake’.

Do not set this db to the same as development or production.

test:
adapter: mysql
database: depot_test
username:
password:

socket: /path/to/your/mysql.sock

production:
adapter: mysql
database: depot_production
username:
password:

socket: /path/to/your/mysql.sock

==========================================

Below the error message in log/development in rails depot application

====================================================
Rendering
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/templates/rescues/layout.rhtml
(500 Internal Error)

Processing AdminController#index (for 127.0.0.1 at 2006-01-22 08:41:34)
[GET]
Parameters: {“action”=>“index”, “controller”=>“admin”}

Errno::ECONNREFUSED (No connection could be made because the target
machine
actively refused it. - connect(2)):
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/vendor/mysql.rb:108:in
initialize' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/vendor/mysql.rb:108:innew’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/vendor/mysql.rb:108:in
real_connect' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/mysql_adapter.rb:316:inconnect’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/mysql_adapter.rb:87:in
initialize' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/mysql_adapter.rb:37:innew’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/mysql_adapter.rb:37:in
mysql_connection' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:insend’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in
connection_without_query_cache=' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/query_cache.rb:54:inconnection=’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:106:in
retrieve_connection' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:20:inconnection’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/base.rb:518:in
count_by_sql' d:/apps/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/base.rb:511:incount’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/pagination.rb:167:in
count_collection_for_pagination' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/pagination.rb:188:inpaginator_and_collection_for’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/pagination.rb:124:in
paginate' /app/controllers/admin_controller.rb:8:inlist’
/app/controllers/admin_controller.rb:3:in index' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:853:insend’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:853:in
perform_action_without_filters' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/filters.rb:332:inperform_action_without_benchmark’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmarking.rb:69:in
perform_action_without_rescue' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmarking.rb:69:inmeasure’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/benchmarking.rb:69:in
perform_action_without_rescue' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/rescue.rb:82:inperform_action’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:369:in
send' d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/base.rb:369:inprocess_without_session_management_support’
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/session_management.rb:116:in
process' d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/dispatcher.rb:38:indispatch’
d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/webrick_server.rb:117:in
handle_dispatch' d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/webrick_server.rb:83:inservice’
d:/apps/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in service' d:/apps/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:inrun’
d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:155:in start_thread' d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:144:instart’
d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:144:in start_thread' d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:94:instart’
d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:89:in each' d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:89:instart’
d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:79:in start' d:/apps/ruby/lib/ruby/1.8/webrick/server.rb:79:instart’
d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/webrick_server.rb:69:in
dispatch' d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0 /lib/commands/servers/webrick.rb:59 d:/apps/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:inrequire__’
d:/apps/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in
require' d:/apps/ruby/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:214:inrequire’
d:/apps/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0
/lib/commands/server.rb:28
d:/apps/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:in
require__' d:/apps/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:18:inrequire’
d:/apps/ruby/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_support/dependencies.rb:214:in
`require’
script/server:3

Rendering
d:/apps/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/templates/rescues/layout.rhtml
(500 Internal Error)

=======================================================

Thank you again.

Talha


#2

Talha O. wrote:

I still could not solve my problem. To make sure that I can not connect
beacuse of access rights, I have started mysql server
–skip-grant-tables
option.

And is your mysql server configured to listen on a TCP port? Can you
telnet to that port manually to verify that you do not get “Connection
refused”?

I may have problem with this socket or TCP/IP thing. The database.yml
file
that is generated by rails looks little different from what I see in the
book. Below is my database.yml file.

It sounds like you should be using the “socket” keyword in your
databases.yml, not the “host” and “port” keywords. Many *nix
distributions provide mysql packages that only listen on a filesystem
socket, not on a TCP port.

To find the location of the socket on your filesystem, try this:

grep ^socket /etc/my.cnf

On my system, I get

socket = /var/run/mysqld/mysqld.sock

So in my databases.yml, I have

socket: /var/run/mysqld/mysqld.sock

If I use “host” and “port” in database.yml instead, I get the error
you’re getting:

Errno::ECONNREFUSED (No connection could be made because the target
machine
actively refused it. - connect(2)):

Ciao,
Sheldon.


#3

i have a similar setup to you (mysql 5.0, windows xp sp2), and i connect
using the host and port, rather than socket.

but in your database.yml file, you uncommented host, but left the port
commented. it needs to be able to see both the host and port (3306 is
the
default mysql port).

maybe try it with port uncommented, host uncommented, and socket
commented
out?


John McGrath
http://fryolator.com