mysql - 为什么数据库配置不起作用?

标签 mysql ruby-on-rails

我从 github 克隆了一个存储库,当我尝试运行 rake db:create 时,shell 向我显示了一个错误

ruby-2.2.0 ~/ymh (milestone3*) [02:47:02]
weare138$ rake db:create
Couldn't create database for {"adapter"=>"mysql2", "database"=>"development", "username"=>"root", "host"=>"127.0.0.1", "pool"=>5, "port"=>3306, "password"=>"password", "socket"=>"/tmp/mysql.sock"}, {:charset=>"utf8", :collation=>"utf8_unicode_ci"}

有数据库.yml

development:
  adapter: mysql2
  database: development
  username: root
  host: 127.0.0.1
  pool: 5
  port: 3306
  password: password
  socket: /tmp/mysql.sock

我哪里错了?如何解决?

更新

ruby-2.2.0 ~/ymh (milestone3*) [02:47:38]
weare138$ rake --trace db:create
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:create
Couldn't create database for {"adapter"=>"mysql2", "database"=>"development", "username"=>"root", "host"=>"127.0.0.1", "pool"=>5, "port"=>3306, "password"=>"password", "socket"=>"/tmp/mysql.sock"}, {:charset=>"utf8", :collation=>"utf8_unicode_ci"}

最佳答案

请确保您的 mysql.sock 正确。 在 ubuntu 14.04 中,它位于 /var/run/mysqld/mysqld.sock

修改后的database.yml文件将如下所示

development:
  adapter: mysql2
  database: development
  username: root
  host: 127.0.0.1
  pool: 5
  port: 3306
  password: password
  socket: /var/run/mysqld/mysqld.sock

关于mysql - 为什么数据库配置不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28831122/

相关文章:

ruby-on-rails - 如何按时间订购

ruby-on-rails - Ruby on Rails : shared method between models

php mysql建表报错

c# - Mysql Entity Framework 上的 Guid 属性

ruby-on-rails - 如果我们需要跟踪用户与帖子的交互,如何构建用户和帖子之间的关联

ruby-on-rails - 添加/删除 ENV 变量时,Elastic Beanstalk 导致我的 Rails 6 应用程序预编译 Assets 中断

ruby-on-rails - 如何在到达 Rails 应用程序之前处理从 Rack 生成的异常

MySQL 内连接命名错误?

python - Windows 服务器上的 Django MySQL 连接错误

删除后PHP MySQL插入失败