Igu MySQL uzi la plusenditan TCP-pordon
Evitu elekti lokan Unix-soketon kiam MySQL-kliento devas konektiĝi per SSH TCP-plusendo.
La SSH-plusendo aŭskultas sur loka pordo 13306, sed mysql ankoraŭ konektiĝas al la loka datumbazo—aŭ raportas, ke mankas ĝia loka soketo. En Unix, MySQL-kliento ricevinta localhost povas elekti Unix-soketon anstataŭ TCP. Doni pordon ne nepre ŝanĝas tiun elekton.
Por ekzistanta aprobita TCP-plusendo, faru la protokolon eksplicita:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
La uzantnomo estas ilustra; la pasvorta opcio petas interagan enigon. La komando konektiĝas al la loka TCP-aŭskultanto anstataŭ Unix-soketo.
Tenu la du ensalutojn aparte
Fiksa SSH-itinero povas havi ĉi tiun formon:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
La SSH-servilo de la enirejo atingas db.internal:3306. Poste MySQL aŭtentigas la datumbazan konton tra tiu bajta fluo. Akceptita SSH-ŝlosilo ne donas datumbazan ensaluton, kaj fontlimigoj de la datumbazo vidas la konekton alvenantan de tiu flanko de la itinero.
Ĉi tio estas fiksa TCP-adaptilo, ne SOCKS-agordo uzata de mysql. La aplikaĵo ne bezonas SOCKS-traktadon, ĉar la plusenda finpunkto havas unu antaŭdifinitan celon.
Konservu la celatan TLS-identecon de la datumbazo kaj la atestilan politikon tie, kie ili estas uzataj. Konekti la soketon al loopback ne validigas datumbazan atestilon por alia serva nomo. Sukcesa loka TCP-konekto decidas la transportan elekton, ne la postan datumbazan aŭtentigon aŭ la TLS-kontrolojn.