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

How to use rake database commands with password

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

rake db:migrate

但我在终端中收到此反馈 -

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

我正在寻找使用命令时请求密码的东西,例如

rake db:migrate -p

但这对我不起作用我尝试了各种方法,比如将它放在 rake 之前,就在 rake 之后,并使用 -u 和 root。

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

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

编辑:

我还发现了一个有用的 link 它可以帮助您不将密码以纯文本形式存储在 database.yml 文件中,而是将其存储为 ENV 变量,然后可以在访问数据库之前使用该变量进行定义终端。

说明在这里:

Securely providing the database password in a Rails app

前往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.  

您需要正确设置密码。