透過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預設為localhost。 一般而言,這是MySQL伺服器的繫結位址值,預設值為127.0.0.1 (localhost),但也可能為某些本機網路位址(例如192.168.0.1)或伺服器的公用IP位址。

    值可在您的my.cnf檔案(位於/etc/my.cnf)中讀取\[mysqld\]的行下找到。 若該檔案中的繫結位址列被註解,則您的伺服器將會受到外部連線嘗試的保護。

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