Gwnewch i MySQL ddefnyddio'r porthladd TCP a anfonwyd ymlaen
Osgoi dewis soced Unix lleol pan ddylai cleient MySQL gysylltu trwy anfon SSH TCP.
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.