rake db:在OS X 10.7上使用mysql创建Lion失败

时间:2011-08-04 16:01:13

标签: mysql ruby-on-rails ruby macos gem

我正在尝试在全新的OS X 10.7安装上安装rvm,mysql和rails。它们都是单独正确安装的,但我似乎无法让它们一起工作。

当我尝试命令rake db:create时,出现以下错误:

db/test.sqlite3 already exists
db/test.sqlite3 already exists
rake aborted!
uninitialized constant Mysql::Error

Tasks: TOP => db:create
(See full trace by running task with --trace)
  • Mac OS X 10.7.0
  • rvm 1.6.32
  • Ruby 1.9.2
  • MySQL 5.1.5.15
  • Rails 3.0.9

我使用正确的说明安装了mysql gem。我把它添加到〜/ .bash_profile:

export DYLD_LIBRARY_PATH="/usr/local/mysql/lib:$DYLD_LIBRARY_PATH"

我做了这个命令:

env ARCHFLAGS="-arch x86_64" sudo gem install mysql -v='2.8.1' -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include --with-mysql-config=/usr/local/mysql/bin/mysql_config

当我gem list时,我可以看到安装了mysql gem的2.8.1版本。我现在有点想法,有什么建议吗?感谢。

database.yml中:

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: terra_development
  pool: 5
  username: root
  password: root
  socket: /tmp/mysql.sock

2 个答案:

答案 0 :(得分:1)

感谢您的投入,我设法解决了问题。问题是rails无法使用提供的凭据与服务器连接。因为某些原因,没有任何MySQL用户,甚至没有root用户。我运行了这个命令:

/usr/local/mysql/bin/mysqladmin -u root password "root"

创建了root用户,让我连接到服务器并修复问题!

答案 1 :(得分:0)

创建测试数据库时出现sqlite错误。您显示了database.yml的开发部分,因此database.yml的测试部分指定了sqlite,或者您没有指定测试数据库。