通过SSH Tunnel连接MySQL

跳转到

要通过SSH tunnel将您的MySQL数据库连接到Commerce Intelligence,您必须执行以下操作:

  1. 检索Commerce Intelligence public key
  2. 允许访问Commerce Intelligence IP address
  3. 为Commerce Intelligence创建一个Linux用户
  4. 为Commerce Intelligence创建一个MySQL用户
  5. 在Commerce Intelligence中输入连接和用户信息

正在检索Commerce Intelligence公钥 retrieve

public key用于授权Commerce Intelligence Linux用户。 在下一部分中,您将创建用户并导入密钥。

  1. 转到​ Manage Data > Connections ​并单击​ Add New Data Source
  2. 单击MySQL图标。
  3. 打开MySQL credentials页面后,将Encrypted切换设置为Yes。 此时将显示SSH设置表单。
  4. public key位于此表单下。

在整个教程中保持此页面处于打开状态 — 您将在下一部分和结尾处找到它。

以下是如何浏览Commerce Intelligence以检索密钥:

允许访问Commerce Intelligence IP地址 allowlist

要使连接成功,必须将防火墙配置为允许从IP地址访问。 它们是54.88.76.9734.250.211.151,但它们也在MySQL credentials页面上。 请参阅上面GIF中的蓝色方框。

正在为Commerce Intelligence创建Linux用户 linux

这可以是生产或辅助计算机,只要它包含实时(或经常更新)数据。 您可以按照您喜欢的方式限制此用户,只要它保留连接到MySQL服务器的权利即可。

  1. 要添加新用户,请以root用户身份在Linux服务器上运行以下命令:
        adduser rjmetric -p<password>
        mkdir /home/rjmetric
        mkdir /home/rjmetric/.ssh
  1. 是否记得在第一节中检索到的public key? 为确保用户有权访问数据库,您需要将密钥导入authorized\_keys

    按如下方式将整个密钥复制到authorized\_keys文件中:

        touch /home/rjmetric/.ssh/authorized_keys
        "<PASTE KEY HERE>" >> /home/rjmetric/.ssh/authorized_keys
  1. 要完成创建用户,请更改/home/rjmetric目录上的权限以允许通过SSH进行访问:
        chown -R rjmetric:rjmetric /home/rjmetric
        chmod -R 700 /home/rjmetric/.ssh
        chmod 400 /home/rjmetric/.ssh/authorized_keys
IMPORTANT
如果与服务器关联的sshd\_config文件未设置为默认选项,则只有某些用户具有服务器访问权限 — 这会阻止成功连接到Commerce Intelligence。 在这些情况下,需要运行诸如AllowUsers之类的命令以允许rjmetric用户访问服务器。

正在为Commerce Intelligence创建MySQL用户 mysql

您的组织可能需要不同的流程,但创建此用户的最简单方法是在以有权授予权限的用户身份登录MySQL时执行以下查询:

    GRANT SELECT ON *.* TO 'rjmetric'@'localhost' IDENTIFIED BY '<secure password here>';

使用安全密码替换secure password here,该密码可以不同于SSH密码。

要限制此用户访问特定数据库、表或列中的数据,您可以改为运行仅允许访问您允许的数据的GRANT查询。

在Commerce Intelligence中输入连接和用户信息 finish

要完成工作,您需要在Commerce Intelligence中输入连接和用户信息。 您是否让MySQL credentials页面保持打开状态? 如果没有,请转到​ Data > Connections ​并单击​ Add New Data Source,然后单击MySQL图标。 别忘了将Encrypted切换设置为Yes

在此页面中输入以下信息,从Database Connection部分开始:

  • Username: Commerce Intelligence MySQL用户的用户名

  • Password: Commerce Intelligence MySQL用户的密码

  • Port:您的服务器上的MySQL端口(默认为3306)

  • Host默认情况下,这是本地主机。 通常,它是MySQL服务器的绑定地址值,默认情况下为127.0.0.1 (localhost),但也可以是某些本地网络地址(例如,192.168.0.1)或服务器的公共IP地址。

    该值可以在my.cnf文件(位于/etc/my.cnf)中读取\[mysqld\]的行下找到。 如果bind-address行在该文件中被注释掉,则您的服务器将免受外部连接尝试的保护。

SSH Connection部分中:

  • Remote Address:服务器Commerce Intelligence的IP地址或主机名将隧道到
  • Username: Commerce Intelligence SSH (Linux)用户的用户名
  • SSH Port:服务器上的SSH端口(默认为22)

完成后,单击​ Save & Test ​以完成设置。

相关:

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc