MySQL credentials#
คุณสามารถใช้ credentials เหล่านี้เพื่อยืนยันตัวตนใน nodes ต่อไปนี้:
Agent node users
Agent node ไม่รองรับ SSH tunnels
Prerequisites#
สร้างบัญชีผู้ใช้บนฐานข้อมูลเซิร์ฟเวอร์ MySQL
Supported authentication methods#
- Database connection
Related resources#
อ้างอิง MySQL's documentation สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบริการนี้
Using database connection#
ในการกำหนดค่า credential นี้ คุณจะต้องมี:
- Host ของเซิร์ฟเวอร์: ชื่อ host หรือ IP address ของฐานข้อมูล
- ชื่อ Database
- ชื่อ User
- Password สำหรับผู้ใช้นั้น
- หมายเลข Port ที่เซิร์ฟเวอร์ MySQL ใช้
- Connect Timeout: จำนวนมิลลิวินาทีระหว่างการเชื่อมต่อฐานข้อมูลเริ่มต้นก่อนที่จะเกิด timeout
- SSL: หากฐานข้อมูลของคุณใช้ SSL ให้เปิดใช้งานและเพิ่มรายละเอียดสำหรับใบรับรอง SSL
- SSH Tunnel: เลือกว่าจะเชื่อมต่อผ่าน SSH tunnel หรือไม่ SSH tunnel ช่วยให้ traffic ที่ไม่ได้เข้ารหัสผ่านการเชื่อมต่อที่เข้ารหัส และเปิดใช้งานการเข้าถึงระยะไกลที่ได้รับอนุญาตไปยังเซิร์ฟเวอร์ที่ได้รับการป้องกันจากการเชื่อมต่อภายนอกโดย firewall
วิธีตั้งค่า credential การเชื่อมต่อฐานข้อมูลของคุณ:
-
ป้อน hostname ของฐานข้อมูลของคุณเป็น Host ใน credential ของ n8n รัน query นี้เพื่อยืนยัน hostname:
1
SHOW VARIABLES WHERE Variable_name = 'hostname';
-
ป้อนชื่อฐานข้อมูลของคุณเป็น Database ใน credential ของ n8n รัน query นี้เพื่อยืนยันชื่อฐานข้อมูล:
1
SHOW DATABASES;
-
ป้อนชื่อผู้ใช้ของ User ในฐานข้อมูล ผู้ใช้นี้ควรมี permissions ที่เหมาะสมสำหรับการดำเนินการใดๆ ที่คุณต้องการให้ n8n ทำ
- ป้อน Password สำหรับผู้ใช้นั้น
-
ป้อนหมายเลข Port ที่เซิร์ฟเวอร์ MySQL ใช้ (ค่าเริ่มต้นคือ
3306
) รัน query นี้เพื่อยืนยันหมายเลข port:1
SHOW VARIABLES WHERE Variable_name = 'port';
-
ป้อน Connect Timeout ที่คุณต้องการให้ node ใช้ Connect Timeout คือจำนวนมิลลิวินาทีระหว่างการเชื่อมต่อฐานข้อมูลเริ่มต้นที่ node ควรรอก่อนที่จะหมดเวลา n8n ตั้งค่าเริ่มต้นเป็น
1000
ซึ่งเป็นค่าเริ่มต้นที่ MySQL ใช้คือ 10 วินาที หากคุณต้องการให้ตรงกับconnect_timeout
ของฐานข้อมูลของคุณ ให้รัน query นี้เพื่อรับค่า จากนั้นคูณด้วย 100 ก่อนป้อนลงใน n8n:1
SHOW VARIABLES WHERE Variable_name = 'connect_timeout';
-
หากฐานข้อมูลของคุณใช้ SSL และคุณต้องการใช้ SSL สำหรับการเชื่อมต่อ ให้เปิดใช้งานตัวเลือกนี้ใน credential หากคุณเปิดใช้งาน ให้ป้อนข้อมูลจากใบรับรอง MySQL SSL ของคุณในฟิลด์เหล่านี้:
- ป้อนเนื้อหาไฟล์
ca.pem
ในฟิลด์ CA Certificate - ป้อนเนื้อหาไฟล์
client-key.pem
ในฟิลด์ Client Private Key - ป้อนเนื้อหาไฟล์
client-cert.pem
ในฟิลด์ Client Certificate
- ป้อนเนื้อหาไฟล์
- หากคุณต้องการใช้ SSH Tunnel สำหรับการเชื่อมต่อ ให้เปิดใช้งานตัวเลือกนี้ใน credential มิฉะนั้น ให้ข้ามไป หากคุณเปิดใช้งาน:
- เลือก SSH Authenticate with เพื่อตั้งค่าประเภท SSH Tunnel ที่จะสร้าง:
- เลือก Password หากคุณต้องการเชื่อมต่อกับ SSH โดยใช้รหัสผ่าน
- เลือก Private Key หากคุณต้องการเชื่อมต่อกับ SSH โดยใช้ identity file (private key) และ passphrase
- ป้อน SSH Host n8n ใช้ host นี้เพื่อสร้าง SSH URI ที่จัดรูปแบบเป็น:
[user@]host:port
- ป้อน SSH Port n8n ใช้ port นี้เพื่อสร้าง SSH URI ที่จัดรูปแบบเป็น:
[user@]host:port
- ป้อน SSH User ที่จะเชื่อมต่อด้วย n8n ใช้ user นี้เพื่อสร้าง SSH URI ที่จัดรูปแบบเป็น:
[user@]host:port
- หากคุณเลือก Password สำหรับ SSH Authenticate with ให้เพิ่ม SSH Password
- หากคุณเลือก Private Key สำหรับ SSH Authenticate with:
- เพิ่มเนื้อหาของ Private Key หรือ identity file ที่ใช้สำหรับ SSH ซึ่งเหมือนกับการใช้ตัวเลือก
ssh-identity-file
กับคำสั่งshell-connect()
ใน MySQL - หาก Private Key ถูกสร้างขึ้นด้วย passphrase ให้ป้อน Passphrase นั้น ซึ่งเหมือนกับการใช้ตัวเลือก
ssh-identity-pass
กับคำสั่งshell-connect()
ใน MySQL หาก Private Key ไม่มี passphrase ให้เว้นฟิลด์นี้ว่างไว้
- เพิ่มเนื้อหาของ Private Key หรือ identity file ที่ใช้สำหรับ SSH ซึ่งเหมือนกับการใช้ตัวเลือก
- เลือก SSH Authenticate with เพื่อตั้งค่าประเภท SSH Tunnel ที่จะสร้าง:
อ้างอิง MySQL | Creating SSL and RSA Certificates and Keys สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับใบรับรอง SSL ใน MySQL อ้างอิง MySQL | Using an SSH Tunnel สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ SSH tunnels ใน MySQL