ধরে নিচ্ছি আপনি এই কমান্ডটি চালিয়েছেন: আপনার লিঙ্কিত ssh -f user@mysql-server.com -L 3306:mysql-server.com:3306 -Nপোস্টে বর্ণিত।
কমান্ডের একটি ভাঙ্গন:
ssh: এটি বেশ স্ব-ব্যাখ্যামূলক। আহ্বান ssh।
-f: ( man sshপৃষ্ঠা থেকে )
কমান্ড প্রয়োগের ঠিক আগে পটভূমিতে যাওয়ার জন্য এসএসএসকে অনুরোধ করুন। এটি দরকারী যদি ssh পাসওয়ার্ড বা পাসফ্রেজগুলির জন্য জিজ্ঞাসা করতে চলেছে তবে ব্যবহারকারী ব্যাকগ্রাউন্ডে এটি চায়।
মূলত, sshসংযোগ স্থাপনের জন্য আপনি কোনও পাসওয়ার্ড প্রবেশ করানোর পরে পটভূমিতে প্রেরণ করুন ; এটি আপনাকে localhostলগ ইন করার পরিবর্তে আপনাকে শেল প্রম্পট দেয় remote-host।
user@mysql-server.com: আপনি যে লগইন করতে চান এমন রিমোট সার্ভার।
-L 3306:mysql-server.com:3306: এটি আকর্ষণীয় কিছু। -L( man sshপৃষ্ঠা থেকে ):
[bind_address:] পোর্ট: হোস্ট: হোস্টপোর্ট: নির্দিষ্ট করে যে স্থানীয় (ক্লায়েন্ট) হোস্টের প্রদত্ত বন্দরটি দূরবর্তী দিকের প্রদত্ত হোস্ট এবং পোর্টে ফরোয়ার্ড করা হবে।
সুতরাং -L 3306:mysql-server.com:3306binds স্থানীয় বন্দর 3306থেকে দূরবর্তী পোর্ট 3306 হোস্টmysql-server.com ।
আপনি যখন স্থানীয় পোর্টের 3306সাথে সংযোগ স্থাপন করেন , তখন সংযোগটি সুরক্ষিত চ্যানেলের মাধ্যমে ফরোয়ার্ড করা হয় mysql-server.com। দূরবর্তী হোস্ট , mysql-server.comতারপর সাথে সংযোগ করে mysql-server.comপোর্টে 3306।
-N: একটি আদেশ চালাবেন না। এটি "স্রেফ ফরওয়ার্ডিং পোর্ট" (ম্যান পৃষ্ঠার উদ্ধৃতি) জন্য দরকারী।
এই আদেশটি সার্ভারের কিছু প্রভাবিত করে?
হ্যাঁ, এটি 3306 পোর্টে লোকালহোস্ট এবং মাইএসকিএল-সার্ভার ডট কমের মধ্যে একটি সংযোগ স্থাপন করে ।
এবং আমি কীভাবে এই টানেলটি বন্ধ করব ...
আপনি যদি ব্যবহার করেছেন -f, আপনি লক্ষ্য করবেন যে sshপ্রক্রিয়াটি আপনি পটভূমিতে মাথা খুললেন। এটা বন্ধ সুন্দর পদ্ধতি চালানো হয় ps aux | grep 3306, খুঁজুন pidএর ssh -f ... -L 3306:mysql-server.com:3306 -N, এবংkill <pid> । (অথবা হতে পারে kill -9 <pid>; আমি যদি killকাজ করি তবে আমি ভুলে যাই )। আপনার অন্যান্য সংযোগগুলি না খোলার এতে সুন্দর সুবিধা রয়েছে ssh; যদি আপনি একাধিক পেয়ে থাকেন তবে এগুলি পুনরায় প্রতিষ্ঠিত করা কিছুটা ... ব্যথা হতে পারে।
... কারণ এখন আমি আমার স্থানীয় মাইএসকিএল সঠিকভাবে ব্যবহার করতে পারি না।
এটি কারণ আপনি স্থানীয় mysql প্রক্রিয়া কার্যকরভাবে "ক্যাপচার" করেছেন এবং যে কোনও ট্র্যাফিক যা এর সাথে সংযোগ স্থাপনের চেষ্টা করে তা দূরবর্তী স্থানে ফরোয়ার্ড করেছেন mysql প্রক্রিয়াতে । একটি খুব ভাল সমাধান পোর্ট-ফরোয়ার্ডে 3306 লোকাল পোর্ট ব্যবহার না করা হবে । 33060 এর মতো ব্যবহার করা হয়নি এমন কিছু ব্যবহার করুন ( অনুরূপ। মনে রাখা কিছুটা সহজ করে তোলে)।
সুতরাং, যদি আপনি ব্যবহার ssh -f user@mysql-server.com -L 33060:mysql-server.com:3306 -Nকরার পরে, আপনার পার্সি-জাতির প্রাচীন শাস্ত্রগ্রন্থ কানেক্ট টু মাইএসকিউএল ফাংশন বাতলান চাই localhostপোর্টে 33060, যা এর সাথে সংযুক্ত হবে mysql-server.comপোর্টে 3306। আপনি অবশ্যই localhostপোর্টে এখনও সংযোগ 3306করতে পারেন, তাই আপনি এখনও স্থানীয় mysqlসার্ভারটি ব্যবহার করতে পারেন ।