您好,登錄后才能下訂單哦!
這篇文章主要講解了“CDSW數(shù)據(jù)庫登錄報錯psql: FATAL: role "postgres" does not exist怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“CDSW數(shù)據(jù)庫登錄報錯psql: FATAL: role "postgres" does not exist怎么解決”吧!
測試環(huán)境
1.Redhat7.4
2.CDH6.2.0
3.CDSW1.5.0
報錯信息“psql: FATAL: role "postgres" does not exist”
通過上述異常分析,F(xiàn)ayson猜測可能是由于CDSW升級后考慮到PG數(shù)據(jù)庫的安全問題,從而將postgres用戶的role刪除了。像前面通過訪問后臺數(shù)據(jù)庫查看CDSW用戶審計日志一樣就屬于非法操作,可能就是為了防止Fayson這種不合常規(guī)的操作。
既然不能夠通過切換到postgres用戶直接登錄PG數(shù)據(jù)庫,那Fayson就通過賬號密碼的方式訪問CDSW的數(shù)據(jù)庫。通過分析發(fā)現(xiàn)CDSW的服務(wù)是由多個docker容器提供的服務(wù)組成(這里表達(dá)可能不夠?qū)I(yè)),F(xiàn)ayson找到提供Web訪問界面的docker容器,Web界面顯示的大部分信息都存儲在數(shù)據(jù),那同樣可以通過在Web服務(wù)中找到訪問CDSW數(shù)據(jù)庫的方法(即賬號和密碼等信息)。
1.通過如下docker命令找到正在運行的Web容器
[root@cdsw postgres-data]# docker ps |grep web
如上截圖顯示有3個Web容器運行,主要是高可用的模式,所以我們會看到有三個Docker容器運行。
2.使用如下命令進(jìn)入Web容器
[root@cdsw postgres-data]# docker exec -i -t c972bbc1b3bc /bin/bash
3.在Web的容器中的環(huán)境變量中找到了訪問CDSW數(shù)據(jù)庫的賬號密碼等信息
cdsw@web-bd545c85b-n4488:/app/web$ echo $POSTGRESQL_USER
cdsw@web-bd545c85b-n4488:/app/web$ echo $POSTGRESQL_PASS
cdsw@web-bd545c85b-n4488:/app/web$ echo $POSTGRESQL_DB
cdsw@web-bd545c85b-n4488:/app/web$ echo $DB_IP
4.在當(dāng)前容器中使用psql客戶端遠(yuǎn)程訪問CDSW數(shù)據(jù)
cdsw@web-bd545c85b-n4488:/app/web$ /usr/lib/postgresql/9.4/bin/psql -U sense -W -h 100.77.0.128
如上圖顯示,我們又成功的訪問到CDSW數(shù)據(jù)庫了。
感謝各位的閱讀,以上就是“CDSW數(shù)據(jù)庫登錄報錯psql: FATAL: role "postgres" does not exist怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對CDSW數(shù)據(jù)庫登錄報錯psql: FATAL: role "postgres" does not exist怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。