MySQL የተላለፈውን TCP ወደብ እንዲጠቀም ያድርጉ
የMySQL ደንበኛ በSSH TCP ማስተላለፍ ሲገናኝ የአካባቢውን Unix socket ከመምረጥ ይቆጠቡ።
የSSH ማስተላለፍ በአካባቢው 13306 ወደብ ላይ ያዳምጣል፣ ነገር ግን mysql አሁንም ወደ አካባቢው ዳታቤዝ ይገናኛል—ወይም የአካባቢው socket ጠፍቷል ይላል። በUnix ላይ localhost የተሰጠው የMySQL ደንበኛ ከTCP ይልቅ Unix socket ሊመርጥ ይችላል። ወደብ መስጠት ያንን ምርጫ የግድ አይለውጥም።
አስቀድሞ ለተፈቀደ የTCP ማስተላለፍ፣ ፕሮቶኮሉን በግልጽ ይግለጹ፦
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
የተጠቃሚው ስም ለምሳሌ ነው፤ የይለፍ ቃል አማራጩ በይነተገናኝ ጥያቄ ይጠይቃል። ትእዛዙ ከUnix socket ይልቅ ወደ አካባቢው TCP አድማጭ ይገናኛል።
ሁለቱን መግቢያዎች ለያዩ
ቋሚ የSSH መንገድ ይህ ቅርጽ ሊኖረው ይችላል፦
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
የመግቢያው (gateway) የSSH አገልጋይ db.internal:3306 ይደርሳል። ከዚያ MySQL የዳታቤዝ መለያውን በዚያ የባይት ፍሰት ያረጋግጣል። የተቀበለው የSSH ቁልፍ የዳታቤዝ መግቢያ አይሰጥም፤ የዳታቤዝ ምንጭ ገደቦችም ግንኙነቱ ከዚያ የመንገዱ ጎን ሲደርስ ያያሉ።
ይህ ቋሚ የTCP አስማሚ ነው፣ በmysql የሚጠቀም የSOCKS ቅንብር አይደለም። አፕሊኬሽኑ የSOCKS ድርድር አያስፈልገውም፣ ምክንያቱም የማስተላለፊያው መጨረሻ አንድ አስቀድሞ የተወሰነ ዒላማ አለው።
የታሰበውን የዳታቤዝ TLS ማንነትና የሰርተፊኬት ፖሊሲ በሚጠቀሙበት ቦታ ይያዙ። socket ን ወደ loopback ማገናኘት የዳታቤዝ ሰርተፊኬትን ለሌላ የአገልግሎት ስም ትክክለኛ አያደርገውም። የተሳካ የአካባቢ TCP ግንኙነት የመጓጓዣ ምርጫውን ይወስናል፣ በኋላ የሚመጣውን የዳታቤዝ ማረጋገጫ ወይም የTLS ምርመራዎችን አይደለም።