为什么我不能使用“rake db:create”创建我的数据库?

时间:2010-02-08 14:55:26

标签: ruby-on-rails ruby rake database

我最近开始阅读Rails并在Windows上准备好开发环境时,我一直遇到问题。所以我选择使用asmallorange.com来处理服务器空间。

在我尝试创建数据库之前,一切顺利。

运行时

rake db:create

我收到回复说它无法创建数据库。响应没有相关错误,日志文件中没有错误。我的PuTTY会议看起来像这样:

[~]# cd alist
[~/alist]# rake db:create
(in /home/jonnie/alist)
Couldn't create database for {"socket"=>"/var/lib/mysql/mysqld.sock", "reconnect"=>false, "encoding"=>"utf8", "username"=>"admin", "adapter"=>"mysql", "password"=>"************", "database"=>"alist_development", "pool"=>5}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation)

我的database.yml文件如下所示:

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: alist_development
  pool: 5
  username: admin
  password: ************
  socket: /var/lib/mysql/mysqld.sock

test:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: alist_test
  pool: 5
  username: admin
  password: ************
  socket: /var/lib/mysql/mysqld.sock

production:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: alist_production
  pool: 5
  username: admin
  password: ************
  socket: /var/lib/mysql/mysqld.sock

我在这一点上非常困难,而且我无法在其他任何地方找到答案。谁知道怎么了?有什么我做错了或者我应该联系我的主人解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

您托管的用户可能没有创建数据库的权限......也许您必须从​​托管工具创建数据库(例如,来自cpanel)。

答案 1 :(得分:1)

另外,您确定/var/lib/mysql/mysqld.sock是套接字的正确位置吗?可能是mysql安装配置为将套接字放在/tmp或其他地方。