m_x*_*m_x 6 authentication rake ruby-on-rails rails-postgresql
首先,请原谅我的完全noobness.我真的试图找到一个解决方案,但现在我陷入困境,完全无能为力.
我正在尝试在远程服务器上部署rails 3应用程序; 在我的本地VM上开发时,没有问题显示.但现在,当我试图跑
rake db:create
Run Code Online (Sandbox Code Playgroud)
它失败了,有错误(这里翻译,因为我是法国人):
FATAL : password authentication failed for user <<mylogin>>
Run Code Online (Sandbox Code Playgroud)
这是我的database.yml:
login: &login
adapter: postgresql
username: mylogin
password: mypassword
host: localhost
port: 5432
encoding: UTF8
development:
<<: *login
database: somesite_development
test:
<<: *login
database: somesite_test
production:
<<: *login
database: somesite_production
Run Code Online (Sandbox Code Playgroud)
使用命令行工具"createuser"在postgre-side创建了用户"mylogin".它被授权创建dbs.postgresql.conf配置服务器监听localhost.我用pg_hba.conf尝试了很多东西,没有用 - 无论在127.0.0.1上用户"mylogin"使用的方法(ident,密码,md5),身份验证都失败了 - 尽管我从未遇到过连接/创建dbs的问题PSQL.
任何线索?
编辑:好的,发现我是多么令人难以置信的愚蠢...我的用户的密码根本没有设置!我想我忘记了分号了
ALTER USER xxxx WITH PASSWORD xxxx;
...我通过请求"SELECT*FROM pg_shadow;"看到了这一点. - 密码字段为空.因为这个愚蠢的错误,我浪费了三天的生命......
小智 19
我也被困在这个问题很长一段时间了,并且去了各种各样的链接(包括这篇文章中提供的链接)试图找到答案,但无济于事.但是,解决方案非常简单.虽然许多其他答案都在正确的轨道上,但这里是解决问题的确切步骤:
在您选择的文本编辑器中打开您的pg_hba.conf文件.(它位于/ etc/postgresql // main)
导航到以下行:
#"local"仅适用于Unix域套接字连接
并粘贴在它下面:
local all all trust
Run Code Online (Sandbox Code Playgroud)
这将信任所有尝试连接到本地计算机上的psql服务器的unix用户.(有关列功能的更多信息,请阅读页面顶部的文档)
保存pg_hba.conf文件并退出文本编辑器.
运行以下命令重新启动Postgresql服务器:
service postgresql restart
现在尝试通过运行以下命令启动psql服务器:
psql -d -U(或简称"psql")
你应该能够毫无问题地登录.
*注意:所有这些都假设您有一个有效的psql用户名用于登录.如果您没有按照以下链接设置一个:
设置用户:http: //erikonrails.snowedin.net/?p = 274
确保你有一个有效的postgres用户:http: //archives.postgresql.org/pgsql-novice/2002-08/msg00072.php
列出所有现有的psql用户:如果您正在寻找"LIST USERS"或"DISPLAY USERS"命令,请尝试:
"select*from pg_user;" (登录psql时)
祝好运!
好吧,发现我是多么愚蠢……我的用户密码根本就没有设置!我想我忘记了分号
ALTER USER xxxx WITH PASSWORD xxxx ;
Run Code Online (Sandbox Code Playgroud)
...我通过请求“SELECT * FROM pg_shadow;”看到了这一点 - 密码字段为空。因为这个愚蠢的错误,我浪费了三天的生命......
| 归档时间: |
|
| 查看次数: |
16093 次 |
| 最近记录: |