問題1復現路徑:sql
postgresql selected, no connection數據庫
第一步: db_connect postgres:toor@127.0.0.1/msfbookpost
鏈接成功不須要進行下一步編碼
若失敗:命令行
分析:postgresql
沒有相關帳號和密碼,因此沒法鏈接it
解決方案:io
1. 在#命令行模式下,輸入sudo -u postgres psql postgres // 來建立帳號console
2. 就會進入到postgres=#模式下,在msfconsole模式下輸入 alter user postgres with password 'toor'; // 來修改密碼coding
3. 顯示ALTER ROLE // 修改生效
4. 退出postgres=#模式,從新輸入db_connect postgres:toor@127.0.0.1/msfbook,就會出現一堆冗長的信息,這是建立鏈接數據表的過程,這隻有在第一次建立postgres的msfbook庫時出現冗長信息,之後就沒有了,直接回到msf終端提示符。
提示:
記得開始進入msfconsole前,啓動postgresql,命令以下:
1. service postgresql start
問題2現象:
根據以上的步驟進行建立鏈接數據庫後,msf中會提示,建立時數據庫編碼錯誤,"Error while running command db_connect: Failed to connect to the database: PG::InvalidParameterValue: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) HINT: Use the same encoding as in the template database, or use template0 as template.: CREATE DATABASE "msfbook" ENCODING = 'utf8' Call stack:......"
分析:
默認數據庫編碼問題
解決方案:
1. sudo -u postgres psql postgres // 進入postgres用戶PostgreSQL數據庫模式中
2. 輸入 create database msfbook with encoding='SQL_ASCII';
3. 顯示 CREATE DATABASE // 建立成功