ការបញ្ជូនបន្ត SSH ស្តាប់នៅច្រកមូលដ្ឋាន 13306 ប៉ុន្តែ mysql នៅតែភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យមូលដ្ឋាន—ឬរាយការណ៍ថា socket មូលដ្ឋានរបស់វាបាត់។ នៅលើ Unix អតិថិជន MySQL ដែលត្រូវបានឱ្យ localhost អាចជ្រើសរើស Unix socket ជំនួស TCP។ ការផ្តល់ច្រកមិនចាំបាច់ផ្លាស់ប្តូរជម្រើសនោះទេ។

សម្រាប់ការបញ្ជូនបន្ត TCP ដែលបានអនុម័តរួចហើយ ធ្វើឱ្យពិធីការច្បាស់លាស់៖

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

ឈ្មោះអ្នកប្រើគ្រាន់តែជាឧទាហរណ៍; ជម្រើសពាក្យសម្ងាត់ស្នើសុំការបញ្ចូលដោយអន្តរកម្ម។ ពាក្យបញ្ជាភ្ជាប់ទៅអ្នកស្តាប់ TCP មូលដ្ឋាន ជំនួសឱ្យ Unix socket។

រក្សាការចូលទាំងពីរឱ្យដាច់ដោយឡែក

ផ្លូវ SSH ថេរអាចមានរូបរាងនេះ៖

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

ម៉ាស៊ីនមេ SSH របស់ច្រកចេញចូលឈានដល់ db.internal:3306។ បន្ទាប់មក MySQL ផ្ទៀងផ្ទាត់គណនីមូលដ្ឋានទិន្នន័យតាមស្ទ្រីមបៃនោះ។ សោ SSH ដែលត្រូវបានទទួលយកមិនផ្តល់ការចូលមូលដ្ឋានទិន្នន័យទេ ហើយការដាក់កំហិតប្រភពរបស់មូលដ្ឋានទិន្នន័យឃើញការភ្ជាប់មកពីផ្នែកនោះនៃផ្លូវ។

នេះជាអាដាប់ទ័រ TCP ថេរ មិនមែនជាការកំណត់ SOCKS ដែល mysql ប្រើប្រាស់ទេ។ កម្មវិធីមិនត្រូវការការចរចា SOCKS ទេ ព្រោះចុងបញ្ចប់នៃការបញ្ជូនបន្តមានគោលដៅមួយដែលបានកំណត់ជាមុន។

រក្សាអត្តសញ្ញាណ TLS ដែលបានបម្រុងទុករបស់មូលដ្ឋានទិន្នន័យ និងគោលនយោបាយវិញ្ញាបនបត្រនៅកន្លែងដែលពួកវាត្រូវបានប្រើ។ ការភ្ជាប់ socket ទៅ loopback មិនធ្វើឱ្យវិញ្ញាបនបត្រមូលដ្ឋានទិន្នន័យមានសុពលភាពសម្រាប់ឈ្មោះសេវាផ្សេងទេ។ ការភ្ជាប់ TCP មូលដ្ឋានដែលជោគជ័យកំណត់ជម្រើសនៃការដឹកជញ្ជូន មិនមែនការផ្ទៀងផ្ទាត់មូលដ្ឋានទិន្នន័យ ឬការត្រួតពិនិត្យ TLS នៅពេលក្រោយទេ។

អត្ថបទពាក់ព័ន្ធ