SSH yönləndirməsi yerli 13306 portunda dinləyir, lakin mysql hələ də yerli verilənlər bazasına qoşulur—ya da yerli soketinin olmadığını bildirir. Unix-də localhost verilən MySQL müştərisi TCP əvəzinə Unix soketi seçə bilər. Port vermək bu seçimi mütləq dəyişmir.

Mövcud təsdiqlənmiş TCP yönləndirməsi üçün protokolu açıq şəkildə göstərin:

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

İstifadəçi adı nümunə üçündür; parol seçimi interaktiv sorğu tələb edir. Əmr Unix soketi əvəzinə yerli TCP dinləyicisinə qoşulur.

İki girişi ayrı saxlayın

Sabit SSH marşrutu bu formada ola bilər:

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

Şlüzün SSH serveri db.internal:3306 ünvanına çatır. Sonra MySQL verilənlər bazası hesabını həmin bayt axını vasitəsilə autentifikasiya edir. Qəbul edilmiş SSH açarı verilənlər bazasına giriş vermir və verilənlər bazasının mənbə məhdudiyyətləri bağlantının marşrutun o tərəfindən gəldiyini görür.

Bu sabit TCP adapteridir, mysql tərəfindən istifadə olunan SOCKS parametri deyil. Tətbiq SOCKS danışığına ehtiyac duymur, çünki yönləndirmə son nöqtəsinin əvvəlcədən müəyyən edilmiş bir hədəfi var.

İstifadə olunduğu yerdə nəzərdə tutulan verilənlər bazası TLS kimliyini və sertifikat siyasətini qoruyun. Soketi loopback-ə bağlamaq verilənlər bazası sertifikatını fərqli xidmət adı üçün etibarlı etmir. Uğurlu yerli TCP bağlantısı nəqliyyat seçimini həll edir, sonrakı verilənlər bazası autentifikasiyasını və ya TLS yoxlamalarını deyil.

Əlaqəli məqalələr