আপনি যদি মাইএসকিউএল ডাটাবেস নিয়ে কাজ করেন, তাহলে আপনার ডাটাবেসকে সুরক্ষিত রাখতে আপনি যে চ্যালেঞ্জের মুখোমুখি হচ্ছেন সে সম্পর্কে আপনি ইতিমধ্যেই সচেতন। ডাটাবেস হ্যাকিং প্রচেষ্টা থেকে এসকিউএল ইনজেকশন ব্যবহার করে জোরালো আক্রমণ চালানো, আপনার ডেটা নিরাপদ রাখা কঠিন, বিশেষ করে যদি আপনি দূরবর্তী ডাটাবেসের সাথে কাজ করছেন।
দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য একটি এসকিউএল সার্ভার কনফিগার করার উপায় , কিন্তু আপনাকে সতর্ক থাকতে হবে, কারণ মাইএসকিউএল সার্ভারে দূরবর্তী সংযোগের অনুমতি আপনার ডাটাবেসকে হ্যাকারদের জন্য একটি সহজ লক্ষ্য করে তুলতে পারে। আপনি যদি মাইএসকিউএল ডাটাবেসে নিরাপদ, দূরবর্তী সংযোগের অনুমতি দিতে চান, তাহলে আপনাকে যা জানতে হবে তা এখানে।
আপনার আগে শুরু করুন
আপনার মাইএসকিউএল ডাটাবেসে কোন পরিবর্তন করার আগে, আপনার আপনার ডাটাবেসের ব্যাকআপগুরুত্বপূর্ণ, বিশেষ করে যদি আপনি একটি প্রোডাকশন সার্ভারে কাজ করেন (একটি সার্ভার সক্রিয় ব্যবহারে)। আপনার ডাটাবেসে যে কোনো পরিবর্তন, অথবা সার্ভারটি এটি হোস্টিং করলে, কিছু ভুল হলে ডেটা মারাত্মকভাবে ক্ষতিগ্রস্ত হতে পারে। যদি এটি ঘটে থাকে, তাহলে আরও সহায়তার জন্য আপনাকে সার্ভার প্রশাসকের সাথে পরামর্শ করতে হতে পারে। একটি ভাল ধারণা হল স্থানীয়ভাবে পরিচালিত মাইএসকিউএল সার্ভারে যেকোনো পরিবর্তনের পরীক্ষা করা যাতে আপনার পরিবর্তনগুলি দূরবর্তীভাবে চেষ্টা করার আগে কাজ করে কিনা তা পরীক্ষা করা যায়। সংযোগ এবং পরিবর্তন করার জন্য একটি নিরাপদ উপায় প্রয়োজন। SSH (সিকিউর শেল)এটি প্রায়শই এটি করার সর্বোত্তম উপায়, কারণ এটি আপনাকে আপনার দূরবর্তী সার্ভারের সাথে সংযোগ স্থাপন করতে দেয়। আপনি আপনার স্থানীয় নেটওয়ার্কে সার্ভারগুলির সাথে সংযোগ স্থাপনের জন্য SSH ব্যবহার করতে পারেন, যেমন একটি রাস্পবেরি পাইতে হোস্ট করা হয়েছে ।
<<<<<<ধরুন SSH এর মাধ্যমে আপনার সার্ভারে আপনার দূরবর্তী অ্যাক্সেস নেই (উদাহরণস্বরূপ)। সেই ক্ষেত্রে, আপনি আপনার MySQL ডাটাবেসকে সরাসরি দূরবর্তী সংযোগের অনুমতি দিতে কনফিগার করতে পারবেন না যদি না আপনার রুট মাইএসকিউএল অ্যাকাউন্ট ইতিমধ্যে দূরবর্তী সংযোগের অনুমতি দেয়। সুতরাং, আপনি এগিয়ে যাওয়ার আগে আপনাকে প্রথমে এই সংযোগটি স্থাপন করতে হবে। সংযোগগুলি হল আপনার মাইএসকিউএল কনফিগারেশন ফাইল সম্পাদনা করা। এই পর্যায়ে, এই গাইডটি ধরে নেবে যে আপনি ইতিমধ্যেই সার্ভার, পিসি, অথবা ম্যাকের সাথে আপনার মাইএসকিউএল ডাটাবেস দূরবর্তীভাবে হোস্টিং করেছেন এবং কনসোল অ্যাক্সেস পেয়েছেন।
বিকল্পভাবে, আপনি ম্যাক বা লিনাক্সে একটি খোলা টার্মিনাল অথবা উইন্ডোজের একটি টেক্সট এডিটর ব্যবহার করে একটি স্থানীয় মাইএসকিউএল সার্ভার কনফিগার করতে পারেন।
- পরবর্তী, লিনাক্স এবং ম্যাক ব্যবহারকারীরা mysql.server stop && mysql.server startঅথবা mysql.server restartলিখে MySQL পুনরায় চালু করতে পারেন। আপনাকে sudo ব্যবহার করে কমান্ডটি বাড়ানোর প্রয়োজন হতে পারে (যেমন। /local/bin/mysql.server)।
যদি আপনি উইন্ডোজের সঠিক পরিষেবার নাম সম্পর্কে অনিশ্চিত থাকেন, তাহলে এটি খুঁজে পেতে নেট শুরুটাইপ করুন।যদি আপনি আপনার কনফিগারেশন পুনরায় লোড করতে না পারেন, আপনার সার্ভারটি পুনরায় চালু করুন এবং পরিবর্তে MySQL পুনরায় লোড করুন (প্রয়োজন হলে)।
আপনার ফায়ারওয়াল কনফিগার করুন
এই পর্যায়ে, আপনার মাইএসকিউএল ডাটাবেসকে আপনার মাইএসকিউএল কনফিগারেশন ফাইলে বাইন্ড-অ্যাড্রেসমান হিসাবে সেট করা আইপি ঠিকানা ব্যবহার করে ডিভাইস থেকে দূরবর্তী সংযোগের অনুমতি দেওয়া উচিত (অথবা যদি আপনি এই মানটি 0.0.0.0 এ সেট করেন তবে সমস্ত ডিভাইস থেকেপরিবর্তে)। যাইহোক, সংযোগগুলি এখনও আপনার ডিভাইস বা নেটওয়ার্ক ফায়ারওয়ালদ্বারা অবরুদ্ধ থাকবে। আপনি উইন্ডোজ বা লিনাক্সে মাইএসকিউএল চালাচ্ছেন কিনা তার উপর নির্ভর করে এটি কনফিগার করার ধাপগুলি পরিবর্তিত হবে। ম্যাক ফায়ারওয়াল ডিফল্টরূপে নিষ্ক্রিয় করা হয়, তাই আপনাকে এখানে কোন অতিরিক্ত পদক্ষেপ সম্পন্ন করতে হবে না।
লিনাক্স ফায়ারওয়াল কনফিগার করুন
অনেক লিনাক্স সার্ভার iptablesডিফল্ট ফায়ারওয়াল ইউটিলিটি হিসাবে। আপনি নিচের ধাপগুলি অনুসরণ করে এটি কনফিগার করতে পারেন। শক্তিশালী>। যে ডিভাইসে আপনি মাইএসকিউএল সংযোগের অনুমতি দিতে চান তার জন্য XXXXকে আইপি ঠিকানা দিয়ে থেকেপ্রতিস্থাপন করুন এবং আপনার মাইএসকিউএল কনফিগারেশন থেকে মিলিত পোর্ট মান দিয়ে YYYYপ্রতিস্থাপন করুন। ফাইল (উদা 30০/<)। আপনি যদি ডেবিয়ান বা উবুন্টু ভিত্তিক লিনাক্স সার্ভার ব্যবহার করেন, তাহলে টার্মিনালে বা SSH- এ sudo netfilter-persistent saveএবং sudo netfilter-persistent reloadটাইপ করে এই পরিবর্তনটি স্থায়ী করুন। উইন্ডো। যদি কিছু নির্দিষ্ট প্যাকেজ (যেমন নেটফিল্টার-স্থায়ী) অনুপলব্ধ থাকে, তাহলে এটি ইনস্টল করার জন্য আপনার ডিস্ট্রিবিউশনের সফটওয়্যার রিপোজিটরি টুল ব্যবহার করুন (যেমন। sudo apt install netfilter-persistent)।
উইন্ডোজ ফায়ারওয়াল কনফিগার করুন
আপনি যদি আপনার ডাটাবেস হোস্ট করার জন্য উইন্ডোজ পিসি বা সার্ভার ব্যবহার করেন, তাহলে আপনি এই ধাপগুলি ব্যবহার করে আপনার ফায়ারওয়াল কনফিগার করতে পারেন:
<<>মাইএসকিউএল ব্যবহার করে রিমোট সার্ভারে সংযোগ করা
দূরবর্তী সংযোগের অনুমতি দেওয়ার জন্য আপনার মাইএসকিউএল ডাটাবেস কনফিগার করার পর, আপনাকে আসলে এটির সাথে একটি সংযোগ স্থাপন করতে হবে। আপনি একটি টার্মিনাল বা পাওয়ারশেল উইন্ডো থেকে mysqlকমান্ড (উইন্ডোজ এ mysql.exe) ব্যবহার করে এটি করতে পারেন।
আপনি যদি উইন্ডোজ চালাচ্ছেন, আপনি শুরু করার আগে মাইএসকিউএল স্থানীয়ভাবে ইনস্টল করা আছে নিশ্চিত করতে হবে। ম্যাক ব্যবহারকারীরা টার্মিনাল থেকে মাইএসকিউএল হোমব্রিউ ব্যবহার করে ইনস্টল করতে পারেন প্রয়োজনীয় প্যাকেজগুলি ইনস্টল করার জন্য। লিনাক্স, একটি নতুন টার্মিনাল উইন্ডো খুলুন এবং mysql -u username -h XXXX: XXXX -pটাইপ করুন। XXXX: XXXXকে আপনার দূরবর্তী সার্ভারের IP ঠিকানা এবং পোর্ট নম্বর (যেমন।
এটি কাজ না করলে, এই ধাপগুলি ব্যবহার করে এবং -h লোকালহোস্টযুক্তি ব্যবহার করে SSH (অথবা সরাসরি এটি অ্যাক্সেস করুন) ব্যবহার করে আপনার মাইএসকিউএল সার্ভার হোস্টিং সার্ভার বা পিসির সাথে সংযোগ স্থাপন করুন। তারপর আপনি নিচের ধাপগুলি অনুসরণ করে একটি উপযুক্ত ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে পারেন। আপনার সার্ভারের রুট ইউজার একাউন্ট বা উন্নত সুবিধা সহ অন্য ইউজার একাউন্ট ব্যবহার করে দূর থেকে আপনার মাইএসকিউএল সার্ভারের সাথে সংযোগ করতে সক্ষম। যেহেতু এই স্তরের অ্যাক্সেস অনিরাপদ, আপনি আপনার MySQL ডাটাবেস অ্যাক্সেস করার জন্য আরো সীমাবদ্ধ অ্যাকাউন্ট তৈরি করতে পছন্দ করতে পারেন। এটি আরও গুরুতর পরিবর্তন করতে সক্ষম হবে না, যেমন অন্যান্য ডাটাবেস ডেটা অ্যাক্সেস করা, নতুন ব্যবহারকারীর অ্যাকাউন্ট তৈরি করা ইত্যাদি।
আপনার মাইএসকিউএল সার্ভারে দূর থেকে সাইন ইন করার ক্ষমতা থাকতে হবে। যদি আপনি দূর থেকে আপনার রুট অ্যাকাউন্ট ব্যবহার করতে না পারেন, তাহলে আপনাকে দূরবর্তী SSH সংযোগের মাধ্যমে অথবা সরাসরি পিসি বা সার্ভার হোস্ট করে সার্ভার অ্যাক্সেস করে mysqlকমান্ড ব্যবহার করে আপনার সার্ভারের শেল অ্যাক্সেস করতে হবে।
অ্যাক্সেস মঞ্জুর করে, আপনার নতুন অ্যাকাউন্ট ব্যবহার করে দূরবর্তীভাবে আপনার সার্ভারে সংযোগ করতে উপরের বিভাগে ধাপগুলি ব্যবহার করুন (যেমন। mysql -u ব্যবহারকারীর নাম -h XXXX: XXXX -p)। ডাটাবেস, আপনার ডেটা সুরক্ষা বজায় রাখতে আপনার সংযোগগুলি সুরক্ষিত রাখা গুরুত্বপূর্ণ। এটি করার একটি ভাল উপায় হল দূরবর্তী অ্যাক্সেসের জন্য SSH কী তৈরি করুন আপনার সার্ভারে, পুরানো (এবং সহজে অনুমানযোগ্য) পাসওয়ার্ডের উপর নির্ভর না করে।
আপনি যদি ডেটা হারানোর বিষয়ে চিন্তিত থাকেন, তাহলে আপনি সহজেই আপনার ডাটাবেসের ব্যাক আপ নিন অনলাইনে করতে পারেন। বেশিরভাগ ডাটাবেস লিনাক্স সার্ভার ব্যবহার করে চালানো হয় - আপনি সহজেই একটি লিনাক্স ফাইল ব্যাকআপ স্বয়ংক্রিয় করুন করতে পারেন। আপনি যদি উইন্ডোজ এ মাইএসকিউএল চালাচ্ছেন, তাহলে আপনি একই রকম উইন্ডোজের জন্য স্বয়ংক্রিয় ব্যাকআপ সিস্টেম সেট আপ করতে পারেন, যাতে আপনি জরুরি অবস্থায় আপনার ডেটা পুনরুদ্ধার করতে পারেন।