MySQL-ক পাছ কৰি পঠিওৱা TCP পৰ্ট ব্যৱহাৰ কৰাওক
যেতিয়া এটা MySQL ক্লায়েন্টে SSH TCP ফৰৱাৰ্ডৰ জৰিয়তে সংযোগ কৰিব লাগে, তেতিয়া স্থানীয় Unix ছকেট বাছনি কৰাৰ পৰা বিৰত থাকক।
SSH ফৰৱাৰ্ডে স্থানীয় পৰ্ট 13306 ত শুনে, কিন্তু mysql তথাপিও স্থানীয় ডাটাবেছলৈ সংযোগ কৰে—নাইবা কয় যে ইয়াৰ স্থানীয় ছকেট নাই। Unix ত, localhost দিয়া এটা MySQL ক্লায়েন্টে TCP ৰ সলনি Unix ছকেট বাছনি কৰিব পাৰে। পৰ্ট দিলে সেই বাছনি সলনি নহ'বও পাৰে।
এটা বিদ্যমান অনুমোদিত TCP ফৰৱাৰ্ডৰ বাবে, প্ৰটোকলটো স্পষ্ট কৰক:
mysql --protocol=TCP --host=127.0.0.1 --port=13306 \
--user=dbuser --password
ব্যৱহাৰকাৰীৰ নামটো কেৱল উদাহৰণ; পাছৱৰ্ডৰ অপচনে এটা ইন্টাৰেক্টিভ প্ৰম্পট বিচাৰে। কমান্ডটোৱে Unix ছকেটৰ সলনি স্থানীয় TCP শ্ৰোতালৈ সংযোগ কৰে।
দুয়োটা লগইন সুকীয়া ৰাখক
এটা নিৰ্দিষ্ট SSH ৰুটৰ এই ৰূপ হ'ব পাৰে:
ssh -N -L 127.0.0.1:13306:db.internal:3306 [email protected]
গেটৱেৰ SSH ছাৰ্ভাৰে db.internal:3306 লৈ পায়। তাৰ পিছত MySQL এ সেই বাইট স্ৰোতৰ জৰিয়তে ডাটাবেছ একাউণ্টটো প্ৰমাণিত কৰে। গ্ৰহণ কৰা SSH কি'য়ে ডাটাবেছ লগইন নিদিয়ে, আৰু ডাটাবেছৰ উৎস নিষেধাজ্ঞাই সংযোগটো ৰুটৰ সেই ফালৰ পৰা অহা দেখা পায়।
এইটো এটা নিৰ্দিষ্ট TCP এডাপ্টৰ, mysql ৰ দ্বাৰা ব্যৱহৃত SOCKS ছেটিং নহয়। এপ্লিকেচনটোৱে SOCKS আলোচনাৰ প্ৰয়োজন নাই কাৰণ ফৰৱাৰ্ডিং এণ্ডপইণ্টৰ এটা আগতেই নিৰ্ধাৰিত লক্ষ্য আছে।
য'ত ব্যৱহাৰ হয় ত'ত ইচ্ছিত ডাটাবেছ TLS পৰিচয় আৰু ছাৰ্টিফিকেট নীতি ৰাখক। ছকেটটো loopback লৈ সংযোগ কৰিলে ডাটাবেছ ছাৰ্টিফিকেট এটা ভিন্ন সেৱা নামৰ বাবে বৈধ নহয়। সফল স্থানীয় TCP সংযোগে পৰিবহনৰ বাছনি নিৰ্ণয় কৰে, পিছৰ ডাটাবেছ প্ৰমাণীকৰণ বা TLS পৰীক্ষা নহয়।