代码之家  ›  专栏  ›  技术社区  ›  Ahurasim

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

  •  1
  • Ahurasim  · 技术社区  · 7 年前

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

    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 回复  |  直到 4 年前
        1
  •  3
  •   wscourge Kiran Balakrishnan    7 年前

    我会看看你的 config/database.yml

    编辑:

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

    说明如下:

    Securely providing the database password in a Rails app

        2
  •  0
  •   Mayur Kale cryptextechnologies    7 年前

    转到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.  
    

    您需要正确设置密码。