কম্পিউটার টিউটোরিয়াল

MySQL-এ নতুন ইউজারকে প্রivilেজ দিয়েও অ্যাক্সেস ডেনাইড হলে সমাধান

নতুন ইউজার তৈরি করে সকল প্রivilেজ দিয়েও যদি অ্যাক্সেস ডেনাইড হয়, তবে FLUSH PRIVILEGES কমান্ড চালাতে হয়। এটি প্রivilেজ ক্যাশ রিফ্রেশ করে।

সমাধান

FLUSH PRIVILEGES;

সম্পূর্ণ প্রক্রিয়া

১. নতুন ইউজার তৈরি করুন

mysql> CREATE USER 'Bob'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.56 sec)

২. সকল প্রivilেজ দিন

mysql> GRANT ALL PRIVILEGES ON *.* TO 'Bob'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.23 sec)

৩. প্রivilেজ ফ্লাশ করুন (গুরুত্বপূর্ণ!)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.14 sec)

পরिणাম

এখন 'Bob' ইউজার পাসওয়ার্ড '123456' দিয়ে যেকোনো হোস্ট (% wildcard) থেকে কানেক্ট করতে পারবে।

গুরুত্বপূর্ণ নোট:

  • MySQL 8.0+ এ GRANT স্টেটমেন্ট আপডেটেড প্রivilেজ সিস্টেমে অটোমেটিকলি ফ্লাশ করে, তবুও FLUSH PRIVILEGES চালানো ভালো প্র্যাক্টিস।
  • % হোস্ট মানে যেকোনো আইপি থেকে কানেকশন আլাউ। সিকিউরিটির জন্য নির্দিষ্ট হোস্ট বা IP ব্যবহার করুন (যেমন: 'Bob'@'localhost' বা 'Bob'@'192.168.1.%')।
  • WITH GRANT OPTION দিলে ইউজার অন্যদের প্রivilেজ দিতে পারবে - সতর্কতার সাথে ব্যবহার করুন।
  1. MySQL-এ ভিন্ন ইউজার হিসেবে লগইন করা (mysql -u -p কমান্ড)

  2. MySQL-এ ইউজার-ডিফাইনড ভেরিয়েবল ব্যবহার

  3. MySQL এবং PostgreSQL-এর পার্থক্য

  4. MySQL-এ 'Access Denied for User root@localhost' এরর ফিক্স