আপনার সম্ভবত একটি বেনাম ব্যবহারকারী ''@'localhost'
বা''@'127.0.0.1'
।
অনুযায়ী ম্যানুয়াল :
যখন একাধিক ম্যাচ সম্ভব হয়, সার্ভারকে তাদের মধ্যে কোনটি ব্যবহার করতে হবে তা নির্ধারণ করতে হবে। এটি নিম্নলিখিত হিসাবে এই সমস্যাটির সমাধান করে: (...)
- যখন কোনও ক্লায়েন্ট সংযোগ দেওয়ার চেষ্টা করে, সার্ভারটি [টেবিল mysql.user এর] সারি অনুসারে বাছাই করা ক্রমে সন্ধান করে।
- সার্ভারটি প্রথম সারিতে ব্যবহার করে যা ক্লায়েন্টের হোস্টের নাম এবং ব্যবহারকারীর নামের সাথে মেলে।
(...) সার্ভারটি বাছাইয়ের নিয়ম ব্যবহার করে যা সর্বাধিক সুনির্দিষ্ট হোস্ট মানগুলির সাথে সারিগুলিকে অর্ডার করে । আক্ষরিক হোস্টের নাম [যেমন 'লোকালহোস্ট'] এবং আইপি ঠিকানাগুলি সুনির্দিষ্ট।
অতএব, এই জাতীয় নামবিহীন ব্যবহারকারী অন্য কোনও ব্যবহারকারীর '[any_username]'@'%'
কাছ থেকে সংযোগ দেওয়ার সময় "মাস্ক" করে localhost
।
'bill'@'localhost'
মিলছে 'bill'@'%'
তবে মিলবে (উদাঃ) এর ''@'localhost'
আগেই।
প্রস্তাবিত সমাধানটি হ'ল এই অজ্ঞাতনামা ব্যবহারকারীকে ফেলে দেওয়া (যাইহোক এটি সাধারণত ভাল জিনিস হয়)।
নীচে সম্পাদনাগুলি মূলত মূলত অপ্রাসঙ্গিক। এগুলি কেবল এই থ্রেডের মধ্যে অন্যান্য মন্তব্যে উত্থাপিত কিছু প্রশ্নের উত্তর দেওয়ার জন্য।
সম্পাদনা 1
'bill'@'%'
সকেটের মাধ্যমে প্রমাণীকরণ করা হচ্ছে।
রুট @ মাইহোস্ট: /home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass --sket = / tmp / mysql-5.5.sock
মাইএসকিউএল মনিটরে স্বাগতম (...)
mysql> নির্বাচন ব্যবহারকারী, FROM থেকে mysql.user হোস্ট;
+ + ------ + + ----------- + +
| ব্যবহারকারী | হোস্ট |
+ + ------ + + ----------- + +
| বিল | % |
| রুট | 127.0.0.1 |
| রুট | :: 1 |
| রুট | লোকালহোস্ট |
+ + ------ + + ----------- + +
4 টি সারি সেট (0.00 সেকেন্ড)
mysql> নির্বাচন ব্যবহারকারী (), CURRENT_USER ();
+ + ---------------- + + ---------------- + +
| ব্যবহারকারী () | CURRENT_USER () |
+ + ---------------- + + ---------------- + +
| বিল @ লোকালহোস্ট | বিল @% |
+ + ---------------- + + ---------------- + +
1 সারি সেট (0.02 সেকেন্ড)
mysql> ভ্যারিয়েবলগুলি দেখান 'স্কিপ_ নেটওয়ার্কিং';
+ + ----------------- + + ------- + +
| পরিবর্তনশীল_নাম | মান |
+ + ----------------- + + ------- + +
| skip_networking | অন |
+ + ----------------- + + ------- + +
1 সারি সেট (0.00 সেকেন্ড)
সম্পাদনা 2
ঠিক একই সেটআপ, বাদে আমি আবার নেটওয়ার্কিং সক্রিয় করেছি এবং আমি এখন একটি বেনামে ব্যবহারকারী তৈরি করি ''@'localhost'
।
রুট @ মাইহোস্ট: /home/mysql-5.5.16-linux2.6-x86_64# ./mysql
মাইএসকিউএল মনিটরে স্বাগতম (...)
mysql> ব্যবহারকারীকে তৈরি করুন '' @ 'লোকালহোস্ট' 'অন্যপাস' দ্বারা চিহ্নিত;
অনুসন্ধান ঠিক আছে, 0 টি সারি প্রভাবিত (0.00 সেকেন্ড)
mysql> বাই
রুট @ মাইহোস্ট: /home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
--socket = / tmp / 'মাইএসকিউএল-5.5.sock
ত্রুটি 1045 (28000): ব্যবহারকারীর 'বিল' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে (পাসওয়ার্ড ব্যবহার করে: হ্যাঁ)
রুট @ মাইহোস্ট: /home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
-h127.0.0.1 - প্রোটোকল = টিসিপি
ত্রুটি 1045 (28000): ব্যবহারকারীর 'বিল' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে (পাসওয়ার্ড ব্যবহার করে: হ্যাঁ)
রুট @ মাইহোস্ট: /home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
-hlocalhost - প্রোটোকল = টিসিপি
ত্রুটি 1045 (28000): ব্যবহারকারীর 'বিল' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে (পাসওয়ার্ড ব্যবহার করে: হ্যাঁ)
সম্পাদনা 3
সম্পাদনা 2 হিসাবে একই পরিস্থিতি, এখন বেনামে ব্যবহারকারীর পাসওয়ার্ড সরবরাহ করে।
রুট @ মাইহোস্ট: / হোমে / মাইস্কুল 5.5.16-linux2.6-x86_64#
মাইএসকিউএল মনিটরে স্বাগতম (...)
mysql> নির্বাচন ব্যবহারকারী (), CURRENT_USER ();
+ + ---------------- + + ---------------- + +
| ব্যবহারকারী () | CURRENT_USER () |
+ + ---------------- + + ---------------- + +
| বিল @ লোকালহোস্ট | @ লোকালহোস্ট |
+ + ---------------- + + ---------------- + +
1 সারি সেট (0.01 সেকেন্ড)
উপসংহার 1, সম্পাদনা 1 থেকে: 'bill'@'%'
সকেটের মাধ্যমে কেউ প্রমাণীকরণ করতে পারে ।
উপসংহার 2, সম্পাদনা 2 থেকে: টিসিপি বা সকেটের মাধ্যমে সংযোগ স্থাপনের প্রমাণীকরণ প্রক্রিয়াতে কোনও প্রভাব নেই ( 'something'@'localhost'
স্পষ্টতই সকেটের মাধ্যমে কেউ অন্য কারও সাথে সংযুক্ত হতে পারে না )।
উপসংহার 3, সম্পাদনা 3 থেকে: যদিও আমি উল্লেখ করেছি -ubill
, বেনামে ব্যবহারকারীরূপে আমাকে অ্যাক্সেস দেওয়া হয়েছে। এটি উপরে বর্ণিত "বাছাইয়ের নিয়ম" এর কারণেই। লক্ষ্য করুন যে বেশিরভাগ ডিফল্ট ইনস্টলেশনগুলিতে একটি নন-পাসওয়ার্ড, বেনামে ব্যবহারকারী উপস্থিত (এবং এটি সুরক্ষিত / অপসারণ করা উচিত)।
FLUSH PRIVILEGES
?