我让git克隆了一个存储库,以便开始为私有项目做贡献。
现在,当我启动mysql服务器以及rails服务器时,我收到以下错误:
Access denied for user 'root'@'localhost' (using password: YES) (Mysql2::Error)
现在我尝试使用我在config / database.yml文件中找到的密码登录但没有成功。如何让应用程序在我的本地环境中正常运行?
感谢您提供帮助。
database.yml文件:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: sc_development
pool: 5
username: root
password: Mysql2047
socket: /tmp/mysql.sock
# 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: sc_test
pool: 5
username: root
password: Mysql2047
socket: /tmp/mysql.sock
答案 0 :(得分:0)
您需要在本地计算机上启动mysql服务器,创建数据库sc_development
并清除数据库设置文件中的密码。
答案 1 :(得分:0)
我会创建一个新的MySQL用户,其用户名不是root
。为每个不同的应用程序提供不同的数据库用户是一种很好的做法。
当然,您还需要将sc_development
数据库的权限授予您应用的用户。
CREATE DATABASE sc_development;
CREATE USER sc IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON sc_development.* TO sc;
这样的事情可能会成功。
答案 2 :(得分:0)
这对我来说很有用:
首先,而不是使用
登录mysql mysql
mysql -uroot
root @ localhost拥有所有权限,无密码。
接下来,我创建了数据库和另一个我赋予所有权利的用户。
mysql> CREATE USER joe identified by 'foobar'
mysql> Grant All PRIVILEGES ON smartcheckups_development.* TO joe;
创建数据库:
mysql> CREATE DATABASE sc_development;
在我的database.yml文件中,我更新了登录名&密码与上述用户joe的密码。这将允许我登录。
通过\q
然后
bundle exec rake db:create
并启动rails rails s