Mae'r anfon SSH yn gwrando ar borthladd lleol 13306, ond mae mysql yn dal i gysylltu â'r gronfa ddata leol—neu'n adrodd bod ei soced lleol ar goll. Ar Unix, gall cleient MySQL sy'n cael localhost ddewis soced Unix yn lle TCP. Nid yw darparu porthladd o reidrwydd yn newid y dewis hwnnw.

Ar gyfer anfon TCP cymeradwy sy'n bodoli eisoes, gwnewch y protocol yn benodol:

mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
  --user=dbuser --password

Mae'r enw defnyddiwr yn ddarluniadol; mae'r opsiwn cyfrinair yn gofyn am anogwr rhyngweithiol. Mae'r gorchymyn yn cysylltu â'r gwrandäwr TCP lleol yn lle soced Unix.

Cadwch y ddau fewngofnodi ar wahân

Gall llwybr SSH sefydlog fod â'r siâp hwn:

ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]

Mae gweinydd SSH y porth yn cyrraedd db.internal:3306. Yna mae MySQL yn dilysu cyfrif y gronfa ddata trwy'r ffrwd beit honno. Nid yw allwedd SSH a dderbyniwyd yn rhoi mewngofnod i'r gronfa ddata, ac mae cyfyngiadau ffynhonnell y gronfa ddata yn gweld y cysylltiad yn dod oddi ar yr ochr honno i'r llwybr.

Mae hwn yn addasydd TCP sefydlog, nid yn osodiad SOCKS a ddefnyddir gan mysql. Nid oes angen trafodaeth SOCKS ar y rhaglen oherwydd bod gan bwynt terfyn yr anfon un targed a ragddiffinniwyd.

Cadwch yr hunaniaeth TLS arfaethedig ar gyfer y gronfa ddata a'r polisi tystysgrifau lle maent yn cael eu defnyddio. Nid yw cysylltu'r soced â loopback yn gwneud tystysgrif gronfa ddata yn ddilys ar gyfer enw gwasanaeth gwahanol. Mae cysylltiad TCP lleol llwyddiannus yn setlo'r dewis cludo, nid y dilysu cronfa ddata ddiweddarach na'r gwiriadau TLS.

Erthyglau cysylltiedig