0

我已经 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
4

3 回答 3

0

您需要在本地计算机上启动 mysql 服务器,创建数据库sc_development并清除数据库设置文件中的密码。

于 2013-01-15T16:38:52.323 回答
0

我会创建一个新的 MySQL 用户,用户名不是root. 为每个不同的应用程序设置不同的数据库用户是一种很好的做法。

当然,您还需要将sc_development数据库权限授予应用程序的用户。

CREATE DATABASE sc_development;
CREATE USER sc IDENTIFIED BY 'somepassword';
GRANT ALL PRIVILEGES ON sc_development.* TO sc;

像这样的东西可能会奏效。

于 2013-01-15T16:39:27.633 回答
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 的登录名和密码进行了更新。这将允许我登录。

通过离开mysql\q

然后

bundle exec rake db:create

和启动轨道rails s

于 2013-01-16T07:30:49.463 回答