如何使用密码的rake数据库命令

时间:2017-10-20 00:21:45

标签: mysql ruby-on-rails ruby passwords rake

大家好,我正在尝试使用命令 -

rake db:migrate

但我在终端中将此作为反馈 -

rake aborted!
Mysql2::Error: Access denied for user 'root'@'localhost' (using password: NO)

我在使用命令时想要输入密码,例如

rake db:migrate -p

但这对我不起作用我已经尝试了各种各样的事情,比如把它放在rake之前,就在rake之后,并使用-u和root。

我的问题是如何在尝试访问数据库时使该命令也提示输入密码,所以它不会给我这样的错误?

2 个答案:

答案 0 :(得分:0)

我会查看您的config/database.yml文件,以确保正确设置了您的数据库用户名和密码。

编辑:

我还找到了一个有用的链接,它有助于不将您的密码作为纯文本存储在database.yml文件中,您将其存储为ENV变量,然后可以在使用终端访问数据库之前对其进行定义。

说明在这里:

Securely providing the database password in a Rails app

答案 1 :(得分:0)

转到app / config / database.yml 此文件负责各种环境的数据库连接配置。恩。开发,生产等。

离。

 development:       

 adapter: mysql2

 encoding: utf8

 database:        #database name.

 username:        # mysql user name

 password:        # mysql Password

 host    :        # from where databases you asses from local or remote

                  remote you specify the remote server ip address.  

您需要正确设置密码。