mysql不适用于Ruby on Rails

时间:2020-12-30 23:27:17

Hi I am new to Ruby on Rails. I created a new project using Aptana Studio and started the server using rails server command. But when I'm trying to access the server via browser I'm getting the following error.

嗨,我是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'

I tried using all host:port combinations e.g. 3000,3306..etc ,but nothing works. And here's how my database.yml file looks like.

我尝试使用所有主机:端口组合,例如3000,3306..etc,但没有任何作用。这是我的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

When I'm trying to access mysql from terminal, it works fine. Also I installed mysql using this command.

当我尝试从终端访问mysql时,它工作正常。我也用这个命令安装了mysql。

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

And also have the mysql gem installed for the project. I'm unable to figure out whats wrong.

并且还为项目安装了mysql gem。我无法弄清楚什么是错的。

1 个解决方案

#1


I was editing some global database.yml file previously .Then i found out a specific database.yml file on config folder of the project directory ,which i think is specific to that project.After few indentation errors ,Finally got it.

我之前正在编辑一些全局的database.yml文件。然后我在项目目录的config文件夹中找到了一个特定的database.yml文件,我认为该文件特定于该项目。经过几次缩进错误,终于得到了它。

#1


I was editing some global database.yml file previously .Then i found out a specific database.yml file on config folder of the project directory ,which i think is specific to that project.After few indentation errors ,Finally got it.

我之前正在编辑一些全局的database.yml文件。然后我在项目目录的config文件夹中找到了一个特定的database.yml文件,我认为该文件特定于该项目。经过几次缩进错误,终于得到了它。