阿里云数据可视化访问内网数据库的方法

如果您的数据库在内网,无法通过公网访问,可以尝试数据可视化提供的内网隧道功能,它能让数据可视化安全地访问您的内网数据库。

依赖环境

使用内网隧道需要您找到一台机器(Mac、Linux 和 Windows 7+ 都行,可以是数据库所在的机器)来运行隧道的客户端,这台机器需要满足两个条件:

  1. 可以访问您的内网数据库
  2. 可以访问公网(只要能访问就行,不需要有公网 IP)

找到这样一台机器后,您就能使用内网隧道功能了。

客户端对机器配置没有要求,如果您的数据库所在机器能访问外网,可以直接使用这台机器。

创建内网隧道

管理员可以通过空间左侧的导航进入「管理中心」的「数据源」,然后就能创建内网隧道,目前每个群组最多能创建 5 个内网隧道,每个内网隧道对应的是一个数据库连接地址,可以通过同一个隧道连接一个数据库服务器里的多个数据库:

下载客户端及运行

创建内网隧道后就能在内网隧道列表中看到,点击其中的「下载隧道客户端」,将下载后的 zip 拷贝到前面提到的那台机器上。

解压后可以看到如下几个文件:

  • conf 目录,这个是系统相关配置,不用关心
  • db.txt,这个是数据库配置
  • start.sh,这个是 Mac 和 Linux 下的启动脚本
  • start.ps1,这个是 Windows 下的启动脚本

首先,用文本编辑器打开 db.txt 文件,默认里面的内容是 127.0.0.1:3306,您需要改成本地数据库的地址和端口。

编辑保存 db.txt 文件后,如果是 Mac 和 Linux,运行如下命令:

bash start.sh

如果需要长期运行,请使用如下命令:

nohup bash start.sh &

Windows 下的启动

因为 Windows 下比较容易出错,所以提供了 3 种方法:

  1. start.exe,这是能驻扎在右下角的程序,需要单独从这里下载,将它放在解压后的目录下双击运行
  2. start.ps1,但 Windows 下默认会禁止执行脚本,需要进行如下操作开启:

    1. 点击左下角的 Windows 图表,输入 powershell
    2. 右键点击它,「以管理员身份运行」
    3. 输入如下命令后回车 set-executionpolicy remotesigned
  3. 手动下载 sugar_tunnel_client.exe 将它放到解压后的目录里,直接双击运行

使用内网隧道

在添加数据源及编辑数据源时,可以通过最底部的下拉框选择使用哪个内网隧道,使用内网时无需填写数据库地址和端口,这些信息是在前面的客户端中编辑的。

注意事项

由于端口的独占特性,每个隧道只能和一个隧道客户端建立连接,因此如果已经有客户端连接后,只能先关闭之前的客户端进程,或者申请新的内网隧道。