Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RubyonRails mysql问题_Mysql_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

RubyonRails mysql问题

RubyonRails mysql问题,mysql,ruby-on-rails,ruby,ruby-on-rails-3,Mysql,Ruby On Rails,Ruby,Ruby On Rails 3,我正在创建我的第一个ROR应用程序。 详情: 创建新应用-> rails new simple_cms -d mysql 创建控制器和相应的视图--> 当我启动rails服务器后,页面运行得非常好。但是,当我尝试转到我刚刚创建的页面时,它会弹出一个MYSQL错误: Access denied for user 'root'@'localhost' (using password: NO) 首先,我认为这只是一个数据库连接问题,所以我通过MYSQL接口创建了一个名为:simple\u cms

我正在创建我的第一个ROR应用程序。 详情:

创建新应用->

rails new simple_cms -d mysql
创建控制器和相应的视图-->

当我启动rails服务器后,页面运行得非常好。但是,当我尝试转到我刚刚创建的页面时,它会弹出一个MYSQL错误:

Access denied for user 'root'@'localhost' (using password: NO) 
首先,我认为这只是一个数据库连接问题,所以我通过MYSQL接口创建了一个名为:
simple\u cms\u development
我还做了一个相应的用户:
simple\u cms
拥有被授予的特权

最后,我已将database.yml文件配置为符合以下详细信息:

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: simple_cms_development
  pool: 5
  username: simple_cms
  password: developer
  host: localhost
但是,它仍然提出了同样的mysql问题: 拒绝用户“root”@“localhost”的访问(使用密码:否)

求你了。对于任何知道如何使用mysql作为rails应用程序数据库的人,非常感谢您的帮助。非常感谢你

更新:这是database.yml文件中的所有内容

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: simple_cms_development
  pool: 5
  username: root
  password: developer
  host: localhost

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_test
  pool: 5
  username: root
  password:
  host: localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: simple_cms_production
  pool: 5
  username: root
  password:
  host: localhost

导致您的问题的唯一原因是您正在使用不同的环境加载服务器。我认为在您的情况下,您是在生产模式下加载服务器。

我发现您需要将以下行添加到
config/database.yml

host:localhost

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  host: your_host # <----- normally localhost
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/mysql/mysql.sock
生产:
适配器:mysql2
编码:utf8
重新连接:false

主机:您的#主机#您是否正在加载开发以外的环境(生产或测试)?您是否在更改database.yml文件后重新启动了服务器?是的,我与mysql服务一起重新启动了服务器..我只是加载开发环境。我仍然对您所说的感到困惑。(抱歉,这里是新手)…但我想我正在以开发模式加载服务器。请尝试以与开发相同的方式配置测试和生产,然后重新启动服务器,并尝试从配置中删除数据库配置。您可以更改开发用户名,以检查Rails应用程序是否使用您的开发配置。
production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  host: your_host # <----- normally localhost
  database: the_db_I_made
  pool: 5
  username: the_user_I_made
  password: the_password
  socket: /var/lib/mysql/mysql.sock