首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ruby on rails中使用mysql作为持久化电机

在ruby on rails中使用mysql作为持久化电机
EN

Stack Overflow用户
提问于 2014-12-01 00:40:02
回答 1查看 298关注 0票数 1

为了使用ruby on rails,我需要将sqlite改为mysql,但由于我是这方面的新手,我遇到了一个问题。

我做的第一件事是使用一个GemFile并包含mysql。我在当地工作

本地主机:3306使用灯

代码语言:javascript
运行
复制
source 'https://rubygems.org'

gem 'rails', '3.2.19'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'mysql2'
gem 'hirb'

在我配置文件database.yml之后

代码语言:javascript
运行
复制
development:
  adapter: mysql2
  encoding: utf8
  database: blog_development
  pool: 5
  username: root
  password: strlen12
  socket: /tmp/mysql.sock


  test:
    adapter: mysql2
    encoding: utf8
    database: blog_development
    pool: 5
    username: root
    password: strlen12
    socket: /tmp/mysql.sock

  production:
    adapter: mysql2
    encoding: utf8
    database: blog_development
    pool: 5
    username: root
    password: strlen12
    socket: /tmp/mysql.sock

但是,当我尝试运行rake db时,会触发此错误。

代码语言:javascript
运行
复制
fernando@fernando:~/ProyectoTicketMaster/TicketMaster$ rake db:migrate
rake aborted!
Mysql2::Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/mysql2-0.3.17/lib/mysql2/client.rb:70:in `connect'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/mysql2-0.3.17/lib/mysql2/client.rb:70:in `initialize'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:247:in `block (2 levels) in checkout'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/model_schema.rb:310:in `clear_cache!'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activerecord-3.2.19/lib/active_record/railtie.rb:103:in `block (2 levels) in <class:Railtie>'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:418:in `_run__875551666__prepare__678451887__callbacks'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:405:in `__run_callback'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/callbacks.rb:81:in `run_callbacks'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/actionpack-3.2.19/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/actionpack-3.2.19/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/application/finisher.rb:47:in `block in <module:Finisher>'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/initializable.rb:30:in `instance_exec'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/initializable.rb:30:in `run'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/initializable.rb:54:in `each'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/initializable.rb:54:in `run_initializers'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/application.rb:136:in `initialize!'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/fernando/ProyectoTicketMaster/TicketMaster/config/environment.rb:5:in `<top (required)>'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `require'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `block in require'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/activesupport-3.2.19/lib/active_support/dependencies.rb:251:in `require'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/application.rb:103:in `require_environment!'
/home/fernando/.rvm/gems/ruby-1.9.3-p547@ticket_master/gems/railties-3.2.19/lib/rails/application.rb:305:in `block (2 levels) in initialize_tasks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

安装在我的pc机上的Mysql版本

代码语言:javascript
运行
复制
fernando@fernando:~/ProyectoTicketMaster/TicketMaster$ mysql --version
mysql  Ver 14.14 Distrib 5.5.38, for debian-linux-gnu (i686) using readline 6.2
EN

Stack Overflow用户

回答已采纳

发布于 2014-12-02 09:04:33

检查文件MySQL的套接字路径(通常在/etc/mysql/文件夹中):

代码语言:javascript
运行
复制
socket=/var/lib/mysql/mysql.sock

您可以使用以下命令检查mysql是否正在运行:

代码语言:javascript
运行
复制
mysqladmin -u root -p status

如果进行任何更改,请确保重新启动服务器。此外,还可以使用localhost连接:

代码语言:javascript
运行
复制
development:
  adapter: mysql2
  encoding: utf8
  database: my_db_name
  username: root
  password: my_password
  host: 127.0.0.1
  port: 3306
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27220165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档