ធ្វើឱ្យ MySQL ប្រើច្រក TCP ដែលបានបញ្ជូនបន្ត
ជៀសវាងការជ្រើសរើស Unix socket មូលដ្ឋាន នៅពេលអតិថិជន MySQL គួរតែភ្ជាប់តាមរយៈការបញ្ជូនបន្ត SSH TCP។
ការបញ្ជូនបន្ត 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 នៅពេលក្រោយទេ។