在排解新環境的問題時,通常有助於隔離各種元件,並盡可能以簡單的方式進行測試。
如果是客戶代管的 Looker 執行個體,您可以使用 Looker 伺服器上的 Telnet 建立 TCP 連線,以便測試 Looker 伺服器與資料庫之間的連線。使用 Telnet 的好處是,您不需要修改任何設定檔,也不需要進行驗證。Telnet 會建立連線,或不會建立連線。
確認資料庫可供存取後,您就可以使用資料庫內建的用戶端或 Looker 等應用程式進行測試。
安裝 Telnet
部分主機可能已預先安裝 Telnet。如要測試這項功能,請在 Looker 伺服器上執行下列指令:
telnet ?
畫面應如下所示:
usage: telnet [-l user] [-a] [-s src_addr] host-name [port]
如果您收到「找不到指令」錯誤訊息,就必須安裝 Telnet。
在 Ubuntu 上:
sudo apt-get install telnet
在 Redhat/CentOS 上:
yum install telnet
預設通訊埠
您必須知道資料庫執行的連接埠。下表列出多個平台的預設通訊埠,但資料庫可能會設為在其他通訊埠上執行。請洽詢資料庫管理員。
平台 | 通訊埠 |
---|---|
Amazon Redshift | 5439 |
GreenPlum | 5432 |
Microsoft SQL Server (MSSQL) | 1433 |
MySQL | 3306 |
Oracle | 1521 |
PostgreSQL | 5432 |
Vertica | 5433 |
使用 Telnet 連線至資料庫
如要測試與資料庫的連線,請在 Looker 伺服器上執行 telnet hostname port
。舉例來說,如果您在預設通訊埠上執行 MySQL,且資料庫名稱為 mydb,指令會是 telnet mydb 3306
。
如果連線正常運作,您會看到類似以下的內容:
Trying 10.10.10.10...
Connected to mydb.
Escape character is '^]'.
如果連線無法運作,您會看到下列其中一種情況:
Trying 10.10.10.10...
telnet: Unable to connect to remote host: Connection timed out
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
telnet: could not resolve mydb/telnet: Name or service not known
如果您可以從 Looker 伺服器使用 Telnet 連線至資料庫伺服器的通訊埠,就可以排除基本連線問題。
其他疑難排解提示
如果 Telnet 檢查失敗,請考慮下列事項:
- 主機名稱是否正確?
- 資料庫和 Looker 伺服器是否已設定為允許兩者之間的網路流量?檢查兩個主機上安裝的防火牆軟體。
- 您是否已將 Looker 伺服器和資料庫主機之間的所有網路設定為允許網路流量?檢查防火牆和網路存取控制清單 (ACL)。
- Looker 伺服器和資料庫主機之間的所有網路是否已正確設定,以便在主機之間轉送流量?
- 資料庫伺服器是否正在執行、是否監聽正確的通訊埠,以及是否已設定為允許 Looker 伺服器的連線?
如果仍無法解決問題,請與 Looker 支援團隊聯絡以取得協助。