透過SSH Tunnel連線MySQL
跳轉到
若要透過SSH tunnel
將您的MySQL資料庫連線至Commerce Intelligence,您必須執行下列幾個動作:
- 擷取Commerce Intelligence
public key
- 允許存取Commerce Intelligence
IP address
- 建立Commerce Intelligence的
Linux
使用者 - 建立Commerce Intelligence的
MySQL
使用者 - 在Commerce Intelligence中輸入連線和使用者資訊
正在擷取Commerce Intelligence公開金鑰 retrieve
public key
用於授權Commerce Intelligence Linux
使用者。 在下一節中,您將建立使用者並匯入金鑰。
- 移至 Manage Data > Connections 並按一下 Add New Data Source。
- 按一下
MySQL
圖示。 - 在
MySQL credentials
頁面開啟後,將Encrypted
切換設定為Yes
。 這會顯示SSH設定表單。 public key
位於此表單下方。
在本教學課程中保持此頁面開啟 — 您需要在下一節及結尾使用它。
以下說明如何瀏覽Commerce Intelligence以擷取金鑰:
允許存取Commerce Intelligence IP位址 allowlist
為了連線成功,您必須將防火牆設定為允許從IP位址存取。 他們是54.88.76.97
和34.250.211.151
,但他們也在MySQL credentials
頁面上。 請參閱上方GIF中的藍色方塊。
正在建立Commerce Intelligence的Linux使用者 linux
只要包含即時(或經常更新)資料,這可以是生產或次要機器。 您可以用任何您喜歡的方式限制此使用者,只要它保留連線至MySQL
伺服器的權利。
- 若要新增使用者,請以root身分在Linux伺服器上執行下列命令:
adduser rjmetric -p<password>
mkdir /home/rjmetric
mkdir /home/rjmetric/.ssh
-
還記得在第一節中擷取的
public key
嗎? 若要確保使用者可以存取資料庫,您必須將金鑰匯入authorized\_keys
。將整個金鑰複製到
authorized\_keys
檔案,如下所示:
touch /home/rjmetric/.ssh/authorized_keys
"<PASTE KEY HERE>" >> /home/rjmetric/.ssh/authorized_keys
- 若要完成建立使用者,請變更
/home/rjmetric
目錄上的許可權,以允許透過SSH
存取:
chown -R rjmetric:rjmetric /home/rjmetric
chmod -R 700 /home/rjmetric/.ssh
chmod 400 /home/rjmetric/.ssh/authorized_keys
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 以完成設定。