RubyonRails mysql问题
我正在创建我的第一个ROR应用程序。 详情: 创建新应用->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
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