在对新环境进行问题排查时,通常有必要隔离运行中的各种组件并尽可能简单地单独对其进行测试。
如需测试 Looker 服务器与数据库之间的连接,您可以在 Looker 服务器上使用 Telnet 创建简单的 TCP 连接。使用 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
问题排查
如果 Telnet 检查未成功,请考虑以下事项:
- 主机名是否正确?
- 数据库和 Looker 服务器是否已配置为允许在两者之间传输网络流量?检查两个主机上已安装的防火墙软件。
- Looker 服务器与数据库主机之间的所有网络是否已配置为允许网络流量?检查防火墙和网络访问控制列表 (ACL)。
- Looker 服务器与数据库主机之间的所有网络是否均已正确配置为在主机之间路由流量?
- 数据库服务器是否正在运行、它监听的端口是否正确?是否配置为允许来自 Looker 服务器的连接?
后续步骤
如果您能够通过 Telnet 从 Looker 服务器连接到数据库服务器的端口,就可以排除基本的连接问题。下一步是创建 Looker 数据库连接。