এই সংক্ষিপ্ত কিন্তু বিস্তারিত গাইড ব্যাখ্যা করবে কীভাবে আপনার ভুলে যাওয়া বা হারানো MySQL রুট পাসওয়ার্ড রিসেট করতে হয় Windows বা Linux-এ।
পটভূমি
আপনি কি কখনো আপনার MySQL রুট পাসওয়ার্ড ভুলে গেছেন? এটা এমন একটি জিনিস যা অনেক সতর্কতা রেখেও হয়ে যায়। ফলস্বরূপ, আপনি আপনার ডেটাবেস সার্ভার থেকে লক আউট হয়ে যান। আপনি নতুন ডেটাবেস তৈরি করতে পারবেন না এবং আপনার ডেটাবেস সার্ভারের স্টেট নিয়ন্ত্রণ করার জন্য খুব কম অপশন থাকে। এই পরিস্থিতিতে আপনার ডেটাবেস সার্ভারের রুট অ্যাক্সেস ফিরিয়ে আনার পদ্ধতি জানা বড় কাজে আসে। তাই Windows এবং Linux-এ MySQL-এ রুট ইউজারের পাসওয়ার্ড রিসেট করার পদ্ধতি নিচে দেওয়া হলো।
Windows-এ MySQL রুট পাসওয়ার্ড রিসেট করা
আপনার সার্ভারে Administrator হিসেবে লগ অন করুন। MySQL সার্ভার চলছে থাকলে সেটি বন্ধ করুন। এটি করতে আপনার Windows Services Manager লাগবে, তাই Start Menu-এ ক্লিক করুন, তারপর Control Panel-এ যান, তারপর Administrative Tools-এ, এবং Services সিলেক্ট করুন। এখানে MySQL সার্ভার খুঁজে বের করুন এবং সেটি বন্ধ করুন। যদি সেটি সেখানে লিস্টেড না থাকে কিন্তু MySQL চলছে থাকে, মানে MySQL সার্ভিস হিসেবে চলছে না। সেক্ষেত্রে Task Manager খুলুন (সাধারণত Ctrl+Alt+Del চাপিয়ে পাওয়া যায়)। এখন MySQL প্রসেসটি किल করুন।
MySQL প্রসেস বন্ধ হলে আপনাকে MySQL-এ পাসওয়ার্ড ফোর্স করে পরিবর্তন করতে হবে UPDATE এবং FLUSH অপশনের কম্বিনেশন ব্যবহার করে। তাই আপনার প্রিয় টেক্সট এডিটর খুলুন এবং একটি নতুন ফাইল তৈরি করুন। নিচের টেক্সটটি ফাইলে লিখুন, "NewMySQLPassword"-কে আপনার নতুন পাসওয়ার্ড দিয়ে রিপ্লেস করুন:
UPDATE mysql.user SET Password=PASSWORD(“NewMySQLPassword”) WHERE User=’root’; FLUSH PRIVILEGES;
প্রথম লাইনটি mysql.user টেবিলের "Password" ফিল্ডের মান "root" ইউজারের জন্য "NewMySQLPassword" হিসেবে আপডেট করে। দ্বিতীয় লাইনটি পুরনো প্রিভিলেজ ফ্লাশ করে এবং নিশ্চিত করে যে আপনার নতুন পাসওয়ার্ড সব জায়গায় ব্যবহার হচ্ছে। এই টেক্সটটি C:\mysql_reset.txt হিসেবে সংরক্ষণ করুন।
এরপর, আপনাকে MySQL সার্ভার চালাতে হবে এই ফাইলটি কনফিগারেশন প্যারামিটার হিসেবে পাস করে। টার্মিনাল খুলুন Start Menu > Run > cmd টাইপ করে এন্টার চাপিয়ে। এখন নিচের কমান্ডটি চালান:
C:\mysql\bin\mysqld-nt --init-file=C:\mysql_reset.txt
সার্ভার 스타্ট হলে C:\mysql_reset.txt ফাইলটি ডিলিট করুন। আপনার MySQL রুট পাসওয়ার্ড এখন রিসেট হওয়া উচিত। এখন MySQL সার্ভারটি আবার রিস্টার্ট করুন। Windows Services Manager-এ ফিরে যান সেটির জন্য। আপনার নতুন MySQL রুট পাসওয়ার্ড এখন আপনার জন্য কাজ করা উচিত।
Linux-এ MySQL রুট পাসওয়ার্ড রিসেট করা
আপনার Linux মেশিনে রুট ইউজার হিসেবে লগ অন করুন। MySQL রুট পাসওয়ার্ড রিসেট করার ধাপগুলো হলো: MySQL সার্ভার বন্ধ করুন, পারমিশন ছাড়া রিস্টার্ট করুন যাতে পাসওয়ার্ড ছাড়া রুট হিসেবে লগইন করা যায়, নতুন পাসওয়ার্ড সেট করুন, এবং তারপর সাধারণভাবে রিস্টার্ট করুন। এখানে পদ্ধতিটি দেওয়া হলো। প্রথমে MySQL সার্ভার বন্ধ করুন:
<#># /etc/init.d/mysql stop#>
এখন MySQL সার্ভারটি --skip-grant-tables অপশন দিয়ে চালু করুন, যা পারমিশন সেটিংস লোড ছাড়া সার্ভার চালাবে:
# mysqld_safe --skip-grant-tables &
শেষে থাকা & অপশনটি আপনার চালানো কমান্ডটিকে ব্যাকগ্রাউন্ড প্রসেস হিসেবে চালাবে। এখন রুট হিসেবে MySQL সার্ভারে লগ অন করুন:
# mysql -u root
এটি আপনাকে পাসওয়ার্ড চেড়ে বিনা প্রবেশ দেবে। নিচের ধাপগুলো নতুন পাসওয়ার্ড সেট করবে:
mysql> use mysql;
mysql> update user set password=PASSWORD(“NewMySQLPassword”) where User=’root’;
mysql> flush privileges;
mysql> quit
"NewMySQLPassword"-কে আপনার নিজের পাসওয়ার্ড দিয়ে রিপ্লেস করুন। এখানে কী হচ্ছে: প্রথম লাইনটি MySQL কনফিগারেশন টেবিল সিলেক্ট করে। দ্বিতীয় লাইনটি "root" ইউজারের "Password" ফিল্ডের মান "NewMySQLPassword" হিসেবে আপডেট করে। তৃতীয় লাইনটি পুরনো প্রিভিলেজ ফ্লাশ করে এবং নিশ্চিত করে নতুন পাসওয়ার্ড সব জায়গায় ব্যবহার হচ্ছে। এখন শেষ ধাপ হলো সার্ভারটি সাধারণভাবে রিস্টার্ট করা এবং নতুন রুট পাসওয়ার্ড দিয়ে লগইন করা:
# /etc/init.d/mysql stop
# /etc/init.d/mysql start
# mysql -u root -pNewMySQLPassword
অভিনন্দন! আপনার নতুন MySQL রুট পাসওয়ার্ড সেট হয়ে গেছে এবং আপনার MySQL সার্ভার আবার ব্যবহার করার জন্য প্রস্তুত। মনে রাখবেন আপনার সকল অ্যাপ্লিকেশন আপডেট করুন এই পাসওয়ার্ড ব্যবহার করতে যদি কোথাও ব্যবহার করছেন।