【发布时间】:2015-05-06 19:49:06
【问题描述】:
您好,我是 Ruby on Rails 的新手。我使用 Aptana Studio 创建了一个新项目,并使用 rails server 命令启动了服务器。但是当我尝试通过浏览器访问服务器时,出现以下错误。
http://i.stack.imgur.com/7P0FE.png
Access denied for user root@localhost (using password: NO)
socket = socket.to_s unless socket.nil?
connect user, pass, host, port, database, socket, flags
end
def self.default_query_options
Rails.root:/home/tapas/RubyWorkspace/myproj
Application Trace | Framework Trace | Full Trace
mysql2 (0.3.18) lib/mysql2/client.rb:70:in `connect'
mysql2 (0.3.18) lib/mysql2/client.rb:70:in `initialize'
activerecord (4.2.1) lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `new'
activerecord (4.2.1) lib/active_record/connection_adapters/mysql2_adapter.rb:18:in `mysql2_connection'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:438:in `new_connection'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in `checkout_new_connection'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in `acquire_connection'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in `block in checkout'
/home/tapas/.rbenv/versions/2.2.2/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in `checkout'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in `block in connection'
/home/tapas/.rbenv/versions/2.2.2/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:262:in `connection'
activerecord (4.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:567:in `retrieve_connection'
activerecord (4.2.1) lib/active_record/connection_handling.rb:113:in `retrieve_connection'
activerecord (4.2.1) lib/active_record/connection_handling.rb:87:in `connection'
activerecord (4.2.1) lib/active_record/migration.rb:384:in `connection'
activerecord (4.2.1) lib/active_record/migration.rb:371:in `call'
actionpack (4.2.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.2.1) lib/active_support/callbacks.rb:88:in `call'
activesupport (4.2.1) lib/active_support/callbacks.rb:88:in `_run_callbacks'
activesupport (4.2.1) lib/active_support/callbacks.rb:776:in `_run_call_callbacks'
activesupport (4.2.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
我尝试使用所有主机:端口组合,例如3000,3306..等,但没有任何效果。这是我的database.yml 文件的样子。
http://i.stack.imgur.com/a9ok1.png
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: mysql_dev
pool:5
username: root
password: tapaskumar
socket: /var/run/mysqld/mysqld.sock
host: localhost
port: 3306
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: mysql_test
pool: 5
username: root
password: tapaskumar
socket: /var/run/mysqld/mysqld.sock
host: localhost
port: 3306
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: mysql2_prod
pool: 5
username: root
password: tapaskumar
socket: /var/run/mysqld/mysqld.sock
host: localhost
port: 3306
当我尝试从终端访问 mysql 时,它工作正常。我也使用这个命令安装了 mysql。
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
并且还为该项目安装了 mysql gem。我无法弄清楚出了什么问题。
【问题讨论】:
-
好吧,对于初学者来说,您的应用似乎正在尝试在没有密码的情况下连接到 MySQL 数据库。不幸的是,我不能告诉你原因,但首先要仔细检查你的设置。
-
问题的标题可以更具描述性。
-
从命令行登录到 sql server 的命令是什么?您是否也将用户指定为“root”?
标签: mysql ruby-on-rails ruby database