মাইএসকিউএল -এ রিমোট কানেকশনের অনুমতি কীভাবে দেওয়া যায়


আপনি যদি মাইএসকিউএল ডাটাবেস নিয়ে কাজ করেন, তাহলে আপনার ডাটাবেসকে সুরক্ষিত রাখতে আপনি যে চ্যালেঞ্জের মুখোমুখি হচ্ছেন সে সম্পর্কে আপনি ইতিমধ্যেই সচেতন। ডাটাবেস হ্যাকিং প্রচেষ্টা থেকে এসকিউএল ইনজেকশন ব্যবহার করে জোরালো আক্রমণ চালানো, আপনার ডেটা নিরাপদ রাখা কঠিন, বিশেষ করে যদি আপনি দূরবর্তী ডাটাবেসের সাথে কাজ করছেন।

দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য একটি এসকিউএল সার্ভার কনফিগার করার উপায় , কিন্তু আপনাকে সতর্ক থাকতে হবে, কারণ মাইএসকিউএল সার্ভারে দূরবর্তী সংযোগের অনুমতি আপনার ডাটাবেসকে হ্যাকারদের জন্য একটি সহজ লক্ষ্য করে তুলতে পারে। আপনি যদি মাইএসকিউএল ডাটাবেসে নিরাপদ, দূরবর্তী সংযোগের অনুমতি দিতে চান, তাহলে আপনাকে যা জানতে হবে তা এখানে।

বিষয়বস্তু

    আপনার আগে শুরু করুন

    আপনার মাইএসকিউএল ডাটাবেসে কোন পরিবর্তন করার আগে, আপনার আপনার ডাটাবেসের ব্যাকআপগুরুত্বপূর্ণ, বিশেষ করে যদি আপনি একটি প্রোডাকশন সার্ভারে কাজ করেন (একটি সার্ভার সক্রিয় ব্যবহারে)। আপনার ডাটাবেসে যে কোনো পরিবর্তন, অথবা সার্ভারটি এটি হোস্টিং করলে, কিছু ভুল হলে ডেটা মারাত্মকভাবে ক্ষতিগ্রস্ত হতে পারে। যদি এটি ঘটে থাকে, তাহলে আরও সহায়তার জন্য আপনাকে সার্ভার প্রশাসকের সাথে পরামর্শ করতে হতে পারে। একটি ভাল ধারণা হল স্থানীয়ভাবে পরিচালিত মাইএসকিউএল সার্ভারে যেকোনো পরিবর্তনের পরীক্ষা করা যাতে আপনার পরিবর্তনগুলি দূরবর্তীভাবে চেষ্টা করার আগে কাজ করে কিনা তা পরীক্ষা করা যায়। সংযোগ এবং পরিবর্তন করার জন্য একটি নিরাপদ উপায় প্রয়োজন। SSH (সিকিউর শেল)এটি প্রায়শই এটি করার সর্বোত্তম উপায়, কারণ এটি আপনাকে আপনার দূরবর্তী সার্ভারের সাথে সংযোগ স্থাপন করতে দেয়। আপনি আপনার স্থানীয় নেটওয়ার্কে সার্ভারগুলির সাথে সংযোগ স্থাপনের জন্য SSH ব্যবহার করতে পারেন, যেমন একটি রাস্পবেরি পাইতে হোস্ট করা হয়েছে

    <<<<<<দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য মাইএসকিউএল কনফিগার করা, কিন্তু আপনার মাইএসকিউএল সার্ভারটি আগে আপনার সার্ভারে সরাসরি বা দূরবর্তী প্রবেশাধিকার নিশ্চিত করতে হবে।

    ধরুন SSH এর মাধ্যমে আপনার সার্ভারে আপনার দূরবর্তী অ্যাক্সেস নেই (উদাহরণস্বরূপ)। সেই ক্ষেত্রে, আপনি আপনার MySQL ডাটাবেসকে সরাসরি দূরবর্তী সংযোগের অনুমতি দিতে কনফিগার করতে পারবেন না যদি না আপনার রুট মাইএসকিউএল অ্যাকাউন্ট ইতিমধ্যে দূরবর্তী সংযোগের অনুমতি দেয়। সুতরাং, আপনি এগিয়ে যাওয়ার আগে আপনাকে প্রথমে এই সংযোগটি স্থাপন করতে হবে। সংযোগগুলি হল আপনার মাইএসকিউএল কনফিগারেশন ফাইল সম্পাদনা করা। এই পর্যায়ে, এই গাইডটি ধরে নেবে যে আপনি ইতিমধ্যেই সার্ভার, পিসি, অথবা ম্যাকের সাথে আপনার মাইএসকিউএল ডাটাবেস দূরবর্তীভাবে হোস্টিং করেছেন এবং কনসোল অ্যাক্সেস পেয়েছেন।

    বিকল্পভাবে, আপনি ম্যাক বা লিনাক্সে একটি খোলা টার্মিনাল অথবা উইন্ডোজের একটি টেক্সট এডিটর ব্যবহার করে একটি স্থানীয় মাইএসকিউএল সার্ভার কনফিগার করতে পারেন।

    1. শুরু করতে, আপনার পছন্দের কনসোল টেক্সট এডিটর ব্যবহার করুন আপনার মাইএসকিউএল ডাটাবেস ফাইল সম্পাদনা করতে। লিনাক্সে, ন্যানোএডিটর (অনুমান করে আপনার মাইএসকিউএল ডাটাবেস ডিফল্ট লোকেশনে)
      1. যদি আপনি উইন্ডোজ চালাচ্ছেন, ফাইল এক্সপ্লোরার খুলুন এবং আপনার MySQL ইনস্টলেশন ধারণকারী ফোল্ডারে প্রবেশ করুন (যেমন >C:/Program Files/MySQL/MySQL Server 8.0)। এন্ট্রিতে ডাবল ক্লিক করে আপনার ডিফল্ট টেক্সট এডিটর (যেমন। নোটপ্যাড) ব্যবহার করে my.iniফাইলটি খুলুন। যদি এটি না থাকে, প্রথমে ফাইল তৈরি করুন এবং টাইপ করুন sudo nano /usr/local/etc/my.cnf। যদি আপনি মাইএসকিউএল ইনস্টল করেন তবে এটি মাইএসকিউএল -এর জন্য ডিফল্ট কনফিগারেশন ফাইল। মাইএসকিউএল কনফিগারেশন ফাইলের জন্য। যদি এই কমান্ডগুলি কাজ না করে, তাহলে আপনাকে প্রাসঙ্গিক ফাইলগুলি অনুসন্ধান করতে হবে (my.cnf, mysqld.cnf, অথবা my.iniবাইন্ড-অ্যাড্রেসবিভাগে পৌঁছানোর জন্য আপনার কীবোর্ডের তীর কী ব্যবহার করুন। এই আইপি পরিসীমা আপনার ডাটাবেসের সাথে সংযোগগুলিকে সীমাবদ্ধ করে, যা সাধারণত স্থানীয় মেশিন বা সার্ভার থেকে 127.0.0.1
        1. যদি আপনি আপনার মাইএসকিউএল ডাটাবেস কনফিগার করতে চান তাহলে আপনার বর্তমান ইন্টারনেট সংযোগ ব্যবহার করে ডিভাইস থেকে সংযোগের অনুমতি দিতে আপনার সর্বজনীন আইপি ঠিকানা খুঁজুন প্রথমে, তারপর 127.0.0.1 প্রতিস্থাপন করুনসেই IP ঠিকানার সাথে। বিকল্পভাবে, আপনি যে ডিভাইস বা সার্ভার থেকে সংযোগের অনুমতি দিতে চান তার জন্য এটি একটি IP ঠিকানা দিয়ে প্রতিস্থাপন করুন।
          1. কিছু পরিস্থিতিতে , আপনি একটি মাইএসকিউএল ডাটাবেসে সবরিমোট সংযোগের অনুমতি দিতে পারেন। এটি চরম ঝুঁকিবহন করে এবং এটি একটি উত্পাদন সার্ভারে ব্যবহার করা উচিত নয়। যদি আপনি এটির অনুমতি দিতে চান তবে, 127.0.0.1কে প্রতিস্থাপন করুন 0.0.0.0
            1. মৌলিক সেটিংসবিভাগে পোর্টমান নোট করুন। এটি পরবর্তী বিভাগে প্রয়োজন হবে। যদি এটি দৃশ্যমান না হয়, তাহলে ডিফল্ট মান ব্যবহার করা হবে, যা পোর্ট 3306। আপনি একটি নতুন লাইনে port = xxxxটাইপ করে আপনার নিজের পোর্ট যোগ করতে পারেন, একটি উপযুক্ত পোর্ট মান দিয়ে xxxxপ্রতিস্থাপন করুন।
              1. আপনার মাইএসকিউএল কনফিগারেশন ফাইলে বাইন্ড-অ্যাড্রেসকনফিগার করার পর ফাইলটি সেভ করুন। আপনি যদি লিনাক্সে থাকেন, এটি করার জন্য Ctrl + Oএবং Ctrl + Xনির্বাচন করুন। ম্যাক এ, কমান্ড + ওএবং কমান্ড + এক্সনির্বাচন করুন। উইন্ডোজ ব্যবহারকারীরা ফাইল>সংরক্ষণ
                1. পরবর্তী, লিনাক্স এবং ম্যাক ব্যবহারকারীরা mysql.server stop && mysql.server startঅথবা mysql.server restartলিখে MySQL পুনরায় চালু করতে পারেন। আপনাকে sudo ব্যবহার করে কমান্ডটি বাড়ানোর প্রয়োজন হতে পারে (যেমন। /local/bin/mysql.server)।
                1. উপরের কমান্ডটি কাজ না করলে sudo service mysql restart
                  1. উইন্ডোজে MySQL পুনরায় চালু করতে, স্টার্ট মেনুতে ডান ক্লিক করে এবং Windows PowerShell (Admin)। পাওয়ারশেল উইন্ডোতে, টাইপ করুন নেট স্টপ mysql80তারপরে নেট স্টার্ট mysql80, mysql80কে প্রতিস্থাপন করে আপনার পিসিতে সঠিক পরিষেবার নাম দিয়ে।
                  2. যদি আপনি উইন্ডোজের সঠিক পরিষেবার নাম সম্পর্কে অনিশ্চিত থাকেন, তাহলে এটি খুঁজে পেতে নেট শুরুটাইপ করুন।যদি আপনি আপনার কনফিগারেশন পুনরায় লোড করতে না পারেন, আপনার সার্ভারটি পুনরায় চালু করুন এবং পরিবর্তে MySQL পুনরায় লোড করুন (প্রয়োজন হলে)।

                    আপনার ফায়ারওয়াল কনফিগার করুন

                    এই পর্যায়ে, আপনার মাইএসকিউএল ডাটাবেসকে আপনার মাইএসকিউএল কনফিগারেশন ফাইলে বাইন্ড-অ্যাড্রেসমান হিসাবে সেট করা আইপি ঠিকানা ব্যবহার করে ডিভাইস থেকে দূরবর্তী সংযোগের অনুমতি দেওয়া উচিত (অথবা যদি আপনি এই মানটি 0.0.0.0 এ সেট করেন তবে সমস্ত ডিভাইস থেকেপরিবর্তে)। যাইহোক, সংযোগগুলি এখনও আপনার ডিভাইস বা নেটওয়ার্ক ফায়ারওয়ালদ্বারা অবরুদ্ধ থাকবে। আপনি উইন্ডোজ বা লিনাক্সে মাইএসকিউএল চালাচ্ছেন কিনা তার উপর নির্ভর করে এটি কনফিগার করার ধাপগুলি পরিবর্তিত হবে। ম্যাক ফায়ারওয়াল ডিফল্টরূপে নিষ্ক্রিয় করা হয়, তাই আপনাকে এখানে কোন অতিরিক্ত পদক্ষেপ সম্পন্ন করতে হবে না।

                    লিনাক্স ফায়ারওয়াল কনফিগার করুন

                    অনেক লিনাক্স সার্ভার iptablesডিফল্ট ফায়ারওয়াল ইউটিলিটি হিসাবে। আপনি নিচের ধাপগুলি অনুসরণ করে এটি কনফিগার করতে পারেন। শক্তিশালী>। যে ডিভাইসে আপনি মাইএসকিউএল সংযোগের অনুমতি দিতে চান তার জন্য XXXXকে আইপি ঠিকানা দিয়ে থেকেপ্রতিস্থাপন করুন এবং আপনার মাইএসকিউএল কনফিগারেশন থেকে মিলিত পোর্ট মান দিয়ে YYYYপ্রতিস্থাপন করুন। ফাইল (উদা 30০/<)। আপনি যদি ডেবিয়ান বা উবুন্টু ভিত্তিক লিনাক্স সার্ভার ব্যবহার করেন, তাহলে টার্মিনালে বা SSH- এ sudo netfilter-persistent saveএবং sudo netfilter-persistent reloadটাইপ করে এই পরিবর্তনটি স্থায়ী করুন। উইন্ডো। যদি কিছু নির্দিষ্ট প্যাকেজ (যেমন নেটফিল্টার-স্থায়ী) অনুপলব্ধ থাকে, তাহলে এটি ইনস্টল করার জন্য আপনার ডিস্ট্রিবিউশনের সফটওয়্যার রিপোজিটরি টুল ব্যবহার করুন (যেমন। sudo apt install netfilter-persistent)।

                    উইন্ডোজ ফায়ারওয়াল কনফিগার করুন

                    আপনি যদি আপনার ডাটাবেস হোস্ট করার জন্য উইন্ডোজ পিসি বা সার্ভার ব্যবহার করেন, তাহলে আপনি এই ধাপগুলি ব্যবহার করে আপনার ফায়ারওয়াল কনফিগার করতে পারেন:

                    <<>
                  3. স্টার্ট মেনুতে ডান ক্লিক করুন এবং রান
                  4. নির্বাচন করুন
                    1. রানবাক্সে, wf.mscটাইপ করুন এবং ঠিক আছে
                      1. Windows Defenderউইন্ডোতে, অভ্যন্তরীণ নিয়ম <নির্বাচন করুন নতুন নিয়ম
                        1. নতুন ইনবাউন্ড রুল উইজার্ডেউইন্ডো, পোর্ট>পরবর্তীনির্বাচন করুন।
                          1. পরবর্তী মেনুতে, বিকল্পগুলি থেকে TCPনির্বাচন করুন, 3306টাইপ করুন (অথবা আপনার মাইএসকিউএল কনফিগারেশন ফাইলে যে কোন পোর্ট মান তালিকাভুক্ত), তারপর পরবর্তী <নির্বাচন করুন /। >সংযোগের অনুমতি দিনসক্ষম, তারপর পরবর্তীনির্বাচন করুন।
                            1. নিশ্চিত করুন আপনি সমস্ত নেটওয়ার্ক প্রকারে নিয়মটি প্রয়োগ করতে চান, তারপর পরবর্তীনির্বাচন করুন।
                              1. প্রদত্ত বন্দরে নিয়মের জন্য একটি বর্ণনামূলক নাম লিখুন (যেমন। মাইএসকিউএল) , তারপর আপনার ফায়ারওয়াল বিধিমালার তালিকায় এটি যোগ করতে শেষনির্বাচন করুন। , একই বিবরণ (পোর্ট 3306, ইত্যাদি) ব্যবহার করে আপনার ফায়ারওয়াল সেটিংসে একটি নতুন আউটবাউন্ড নিয়মতৈরি করতে ভুলবেন না। আপনার ডাটাবেসে ইনবাউন্ড এবং আউটবাউন্ড সংযোগের অনুমতি দেওয়ার জন্য আপনাকে আপনার স্থানীয় নেটওয়ার্ক রাউটার প্রয়োজনীয় অবরুদ্ধ পোর্টগুলি খুলুন এ কনফিগার করতে হতে পারে।

                              2. মাইএসকিউএল ব্যবহার করে রিমোট সার্ভারে সংযোগ করা

                                দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য আপনার মাইএসকিউএল ডাটাবেস কনফিগার করার পর, আপনাকে আসলে এটির সাথে একটি সংযোগ স্থাপন করতে হবে। আপনি একটি টার্মিনাল বা পাওয়ারশেল উইন্ডো থেকে mysqlকমান্ড (উইন্ডোজ এ mysql.exe) ব্যবহার করে এটি করতে পারেন।

                                আপনি যদি উইন্ডোজ চালাচ্ছেন, আপনি শুরু করার আগে মাইএসকিউএল স্থানীয়ভাবে ইনস্টল করা আছে নিশ্চিত করতে হবে। ম্যাক ব্যবহারকারীরা টার্মিনাল থেকে মাইএসকিউএল হোমব্রিউ ব্যবহার করে ইনস্টল করতে পারেন প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করার জন্য। লিনাক্স, একটি নতুন টার্মিনাল উইন্ডো খুলুন এবং mysql -u username -h XXXX: XXXX -pটাইপ করুন। XXXX: XXXXকে আপনার দূরবর্তী সার্ভারের IP ঠিকানা এবং পোর্ট নম্বর (যেমন।

                                1. অনুরোধ করা হলে, আপনার পাসওয়ার্ড নিশ্চিত করুন। যদি সংযোগ সফল হয়, একটি সফল বার্তা টার্মিনালে প্রদর্শিত হবে। উইন্ডোজের একটি দূরবর্তী মাইএসকিউএল সার্ভারে, স্টার্ট মেনুতে ডান ক্লিক করে এবং উইন্ডোজ পাওয়ারশেল (অ্যাডমিন)নির্বাচন করে একটি নতুন পাওয়ারশেল উইন্ডো খুলুন।
                                  1. নতুন পাওয়ারশেল উইন্ডোতে, সঠিক ফোল্ডারে প্রবেশ করার জন্য cd “C: \ Program Files \ MySQL \ MySQL Workbench 8.0 \” টাইপ করুন, এই ডিরেক্টরিটি প্রতিস্থাপন করুন আপনার পিসিতে সঠিক ইনস্টলেশন ডিরেক্টরি সহ। উদাহরণস্বরূপ, যদি মাইএসকিউএল -এর আপনার সংস্করণ 8.0.1 হয়, তাহলে তার পরিবর্তে মাইএসকিউএল ওয়ার্কবেঞ্চ 8.0.1ফোল্ডার ব্যবহার করুন।
                                    1. সেখান থেকে । \ mysql.exe -u ব্যবহারকারীর নাম -h X.X.X.X: XXXX -pটাইপ করুন। XXXX: XXXXকে আপনার রিমোট সার্ভার আইপি অ্যাড্রেস এবং পোর্ট নম্বর (যেমন। দূরবর্তী অ্যাক্সেসের অনুমতি দেয় (যেমন রুট)। যেকোনো অতিরিক্ত পর্দায় নির্দেশাবলী অনুসরণ করুন।
                                    2. সাইন-ইন প্রক্রিয়া সম্পন্ন করতে এবং আপনার মাইএসকিউএল ডাটাবেস দূর থেকে অ্যাক্সেস করার জন্য অনুরোধ করা হলে আপনার পাসওয়ার্ড দিন।
                                    3. এটি কাজ না করলে, এই ধাপগুলি ব্যবহার করে এবং -h লোকালহোস্টযুক্তি ব্যবহার করে SSH (অথবা সরাসরি এটি অ্যাক্সেস করুন) ব্যবহার করে আপনার মাইএসকিউএল সার্ভার হোস্টিং সার্ভার বা পিসির সাথে সংযোগ স্থাপন করুন। তারপর আপনি নিচের ধাপগুলি অনুসরণ করে একটি উপযুক্ত ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে পারেন। আপনার সার্ভারের রুট ইউজার একাউন্ট বা উন্নত সুবিধা সহ অন্য ইউজার একাউন্ট ব্যবহার করে দূর থেকে আপনার মাইএসকিউএল সার্ভারের সাথে সংযোগ করতে সক্ষম। যেহেতু এই স্তরের অ্যাক্সেস অনিরাপদ, আপনি আপনার MySQL ডাটাবেস অ্যাক্সেস করার জন্য আরো সীমাবদ্ধ অ্যাকাউন্ট তৈরি করতে পছন্দ করতে পারেন। এটি আরও গুরুতর পরিবর্তন করতে সক্ষম হবে না, যেমন অন্যান্য ডাটাবেস ডেটা অ্যাক্সেস করা, নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করা ইত্যাদি।

                                      আপনার মাইএসকিউএল সার্ভারে দূর থেকে সাইন ইন করার ক্ষমতা থাকতে হবে। যদি আপনি দূর থেকে আপনার রুট অ্যাকাউন্ট ব্যবহার করতে না পারেন, তাহলে আপনাকে দূরবর্তী SSH সংযোগের মাধ্যমে অথবা সরাসরি পিসি বা সার্ভার হোস্ট করে সার্ভার অ্যাক্সেস করে mysqlকমান্ড ব্যবহার করে আপনার সার্ভারের শেল অ্যাক্সেস করতে হবে।

                                      1. আপনার দূরবর্তী MySQL শেল (mysqlটুল ব্যবহার করে), টাইপ করুন CREATE USER “username”@”xxxx” IDENTIFY BY “password”;এবং প্রবেশ করুননির্বাচন করুন। আপনি যে ব্যবহারকারীর নামটি তৈরি করতে চান তার সাথে ব্যবহারকারীর নামপ্রতিস্থাপন করুন, আপনি যে আইপি ঠিকানা থেকে সংযোগ করতে চান তার সাথে xxxxএবং একটি উপযুক্ত পাসওয়ার্ড দিয়ে পাসওয়ার্ড <।
                                        1. আপনাকে প্রয়োজনীয় অনুমতি দিয়ে আপনার নতুন অ্যাকাউন্ট দিতে হবে। এটি করার জন্য, টাইপ করুন GRANT ALL ON databasename।* To username@”x.x.x.x”;এবং সঠিক তথ্য দিয়ে ডাটাবেসনেম, ইউজারনেম,এবং x.x.x.xপ্রতিস্থাপন করুন। আপনি যদি চান, ডাটাবেসনামকে প্রতিস্থাপিত করে *দিয়ে সমস্ত ডাটাবেসে অ্যাক্সেস দিন।
                                        2. অ্যাক্সেস মঞ্জুর করে, আপনার নতুন অ্যাকাউন্ট ব্যবহার করে দূরবর্তীভাবে আপনার সার্ভারে সংযোগ করতে উপরের বিভাগে ধাপগুলি ব্যবহার করুন (যেমন। mysql -u ব্যবহারকারীর নাম -h XXXX: XXXX -p)। ডাটাবেস, আপনার ডেটা সুরক্ষা বজায় রাখতে আপনার সংযোগগুলি সুরক্ষিত রাখা গুরুত্বপূর্ণ। এটি করার একটি ভাল উপায় হল দূরবর্তী অ্যাক্সেসের জন্য SSH কী তৈরি করুন আপনার সার্ভারে, পুরানো (এবং সহজে অনুমানযোগ্য) পাসওয়ার্ডের উপর নির্ভর না করে।

                                          আপনি যদি ডেটা হারানোর বিষয়ে চিন্তিত থাকেন, তাহলে আপনি সহজেই আপনার ডাটাবেসের ব্যাক আপ নিন অনলাইনে করতে পারেন। বেশিরভাগ ডাটাবেস লিনাক্স সার্ভার ব্যবহার করে চালানো হয় - আপনি সহজেই একটি লিনাক্স ফাইল ব্যাকআপ স্বয়ংক্রিয় করুন করতে পারেন। আপনি যদি উইন্ডোজ এ মাইএসকিউএল চালাচ্ছেন, তাহলে আপনি একই রকম উইন্ডোজের জন্য স্বয়ংক্রিয় ব্যাকআপ সিস্টেম সেট আপ করতে পারেন, যাতে আপনি জরুরি অবস্থায় আপনার ডেটা পুনরুদ্ধার করতে পারেন।

                                          সম্পর্কিত পোস্ট:


                                          9.08.2021