Fanya MySQL itumie bandari ya TCP iliyopelekwa
Epuka kuchagua soketi ya Unix ya ndani wakati mteja wa MySQL anapaswa kuungana kupitia upelekaji wa SSH TCP.
Upelekaji wa SSH husikiliza kwenye bandari ya ndani 13306, lakini mysql bado huungana na hifadhidata ya ndani—au huripoti kwamba soketi yake ya ndani haipo. Katika Unix, mteja wa MySQL anayepewa localhost anaweza kuchagua soketi ya Unix badala ya TCP. Kutoa bandari hakubadilishi lazima uchaguzi huo.
Kwa upelekaji wa TCP ulioidhinishwa tayari, fanya itifaki iwe wazi:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
Jina la mtumiaji ni kwa mfano tu; chaguo la nenosiri huomba ingizo la mwingiliano. Amri huungana na msikilizaji wa TCP wa ndani badala ya soketi ya Unix.
Tenganisha kuingia mbili
Njia thabiti ya SSH inaweza kuwa na umbo hili:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
Seva ya SSH ya lango hufikia db.internal:3306. Kisha MySQL huthibitisha akaunti ya hifadhidata kupitia mtiririko huo wa baiti. Ufunguo wa SSH uliokubaliwa hautoi kuingia kwenye hifadhidata, na vizuizi vya chanzo vya hifadhidata huona muunganisho ukija kutoka upande huo wa njia.
Hiki ni adapta thabiti ya TCP, si mpangilio wa SOCKS unaotumiwa na mysql. Programu haihitaji mazungumzo ya SOCKS kwa sababu sehemu ya mwisho ya upelekaji ina lengo moja lililowekwa mapema.
Hifadhi utambulisho uliokusudiwa wa TLS wa hifadhidata na sera ya vyeti mahali vinapotumika. Kuunganisha soketi na loopback hakufanyi cheti cha hifadhidata kuwa halali kwa jina lingine la huduma. Muunganisho wa ndani wa TCP uliofanikiwa huamua uchaguzi wa usafirishaji, si uthibitishaji wa baadaye wa hifadhidata au ukaguzi wa TLS.