rubyonrails mysql2

rubyonrails mysql2,mysql,ruby-on-rails,ruby,Mysql,Ruby On Rails,Ruby,嗨,我只是想知道我的数据库连接配置是否正确 development: adapter: mysql2 encoding: utf8 database: db/glob_development pool: 5 username: root password: mysql host: localhost socket: /tmp/mysql.sock timeout: 5000 因为当我尝试运行rake:db:create时 事情是这样的 WARNING: Th

嗨,我只是想知道我的数据库连接配置是否正确

development:
  adapter: mysql2
  encoding: utf8
  database: db/glob_development
  pool: 5
  username: root
  password: mysql
  host: localhost
  socket: /tmp/mysql.sock
  timeout: 5000
因为当我尝试运行rake:db:create时

事情是这样的

WARNING: This version of mysql2 (0.2.17) isn't compatible with Rails 3.1 as the ActiveRecord adapter was pulled into Rails itself.
WARNING: Please use the 0.3.x (or greater) releases if you plan on using it in Rails >= 3.1.x
DEPRECATION WARNING: Arel::Visitors::VISITORS is deprecated and will be removed. Database adapters should define a visitor_for method which returns the appropriate visitor for the database. For example, MysqlAdapter.visitor_for(pool) returns Arel::Visitors::MySQL.new(pool). (called from mon_synchronize at /home/led/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201)
db/test.sqlite3 already exists
db/production.sqlite3 already exists
我戴着软呢帽跑步 1.9.2p290 ruby版本 轨道3.1.1

编辑

只需下载mysql2并更改我的文件

gem 'mysql2', '~>0.3.10'
嗯,我只是想知道 航站楼一直这么说

db/glob_development already exists
db/test.sqlite3 already exists
db/production.sqlite3 already exists

但是我的数据库文件夹中没有glob_开发文件,这是一个错误还是自然的?抱歉,伙计们,当你运行rakedb:create时,它说它工作了,而且那些数据库已经存在了。在MySQL Workbench上检查这些数据库(或者通过终端中的MySQL在命令行界面中检查它们)

运行
rakedb:migrate
更新数据库

如果在“db”文件夹中看不到它,请尝试连接到mysql服务器并进行检查。你有这方面的细节吗?它通过/tmp/mysql.sock连接到mysql服务器


检查您的用户名和密码是否从mysql连接到数据库(使用上述方法之一)。

当您运行
rake db:create
时,它表示它工作正常,并且这些数据库已经存在。在MySQL Workbench上检查这些数据库(或者通过终端中的MySQL在命令行界面中检查它们)

运行
rakedb:migrate
更新数据库

如果在“db”文件夹中看不到它,请尝试连接到mysql服务器并进行检查。你有这方面的细节吗?它通过/tmp/mysql.sock连接到mysql服务器

检查您的用户名和密码是否从mysql连接到数据库(使用上述方法之一)

上面的一行创建了一个新的项目,同时创建了SQLite数据库。但是如果你跑

rails new project_name -d mysql
然后数据库不会被创建,您必须运行

rake db:create
您的问题可能与适配器有关,我在mac中遇到了这个问题。我不得不将适配器选项更改为mysql。在Gemfile中还包括mysql gem

上面的一行创建了一个新的项目,同时创建了SQLite数据库。但是如果你跑

rails new project_name -d mysql
然后数据库不会被创建,您必须运行

rake db:create

您的问题可能与适配器有关,我在mac中遇到了这个问题。我不得不将适配器选项更改为mysql。在Gemfile中也包括mysql gem。

谢谢你的回复,这已经是他们愚蠢的我:)顺便问一下,我的配置可以吗?我不知道关于/tmp/mysql.sock的事情对不起:(是的,如果你对这个“…已经存在”的问题有疑问,应该在Rails 3.1()中解决。只需确保你有ruby 1.9.2或ruby 1.9.3,Rails 3.1;运行“bundle install”来更新gems;确保你正在阅读的任何教程都参考ruby 1.9(而不是1.8)如果那是你的环境谢谢你的回复这是他们已经愚蠢的我:)顺便问一下,我的配置好吗?我不知道关于/tmp/mysql.sock的事情对不起:(是的,如果你对这个“…已经存在”的问题有疑问,应该在Rails 3.1()中解决。只需确保你有ruby 1.9.2或ruby 1.9.3,Rails 3.1;运行“bundle install”来更新gems;确保你正在阅读的任何教程都参考ruby 1.9(而不是1.8)如果这是您的环境,从问题来看,他似乎意识到需要运行
db:create
,因此这似乎不能很好地解决问题。从问题来看,他似乎意识到需要运行
db:create
,因此这似乎不能很好地解决问题。