মাইএসকিউএল ডকুমেন্টেশন অনুসারে , আপনি পাসওয়ার্ড যুক্ত করে বা বেনামে থাকা অ্যাকাউন্টগুলি সরিয়ে একটি মাইএসকিউএল সার্ভার শক্ত করতে পারেন।
আপনি যদি ক্লায়েন্টদের কোনও পাসওয়ার্ড ছাড়াই বেনামী ব্যবহারকারী হিসাবে সংযোগ স্থাপন থেকে বিরত রাখতে চান তবে আপনার উচিত হয় প্রতিটি অনামী অ্যাকাউন্টে একটি পাসওয়ার্ড বরাদ্দ করা উচিত নয়ত অ্যাকাউন্টগুলি সরিয়ে ফেলা উচিত।
শক্ত করার আগে, আমার ব্যবহারকারীদের টেবিলটি দেখতে এমন ছিল।
mysql> select user,host,password from mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| root | localhost | *F3A2A51A9B0F2BE246XXXXXXXXXXXXXXXXXXXXXX |
| root | gitlab | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | gitlab | |
| debian-sys-maint | localhost | *95C1BF709B26A5BAXXXXXXXXXXXXXXXXXXXXXXXX |
| myuser | localhost | *6C8989366EAF75BB6XXXXXXXXXXXXXXXXXXXXXXX |
+------------------+-----------+-------------------------------------------+
আমি সমস্ত বেনামে অ্যাকাউন্ট মুছে ফেলেছি, যাতে ব্যবহারকারীর টেবিলটি এখন দেখতে এই রকম হয়। (আমি ব্যবহারকারীদের পরিচালনা করতে পুতুল ব্যবহার করছি, তবে পুতুল কার্যকরভাবে একটি DROP USER
আদেশ দেয়)।
mysql> select user,host,password from mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | password |
+------------------+-----------+-------------------------------------------+
| root | localhost | *F3A2A51A9B0F2BE246XXXXXXXXXXXXXXXXXXXXXX |
| debian-sys-maint | localhost | *95C1BF709B26A5BAXXXXXXXXXXXXXXXXXXXXXXXX |
| myuser | localhost | *6C8989366EAF75BB6XXXXXXXXXXXXXXXXXXXXXXX |
+------------------+-----------+-------------------------------------------+
কেন আমি এখনও ব্যবহারকারীর নাম বা পাসওয়ার্ড ছাড়াই আমার পরীক্ষার সিস্টেমে লগইন করতে সক্ষম হই?
কোনও অবাঞ্ছিত ব্যবহারকারীদের লগ ইন করতে বাধা দিতে আমার কী করা দরকার?
root@gitlab:~# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 98
Server version: 5.5.32-0ubuntu0.12.04.1 (Ubuntu)
....
mysql>
আপডেট : আমি সবেমাত্র আবিষ্কার করেছি যে আমি কোনও পাসওয়ার্ড না দিয়েই রুট হিসাবে লগইন করতে পারি।
আপডেট 2 : আমি এই প্রশ্নটি পেয়েছি যার কিছু ভাল তথ্য রয়েছে, তবে সমস্যাটি সমাধান করে না।
কোনও বেনামে ব্যবহারকারী নেই।
mysql> select user,host,password from mysql.user where user='';
Empty set (0.00 sec)
আমি লগইন হিসাবে root@localhost
।
mysql> select USER(),CURRENT_USER();
+----------------+----------------+
| USER() | CURRENT_USER() |
+----------------+----------------+
| root@localhost | root@localhost |
+----------------+----------------+
আমার কোনও ডিফল্ট পাসওয়ার্ড নেই বা মাই সিএনএফ-এ সংজ্ঞায়িত-অনুদান-সারণীগুলি নেই
root@gitlab:~# cat /etc/mysql/my.cnf |grep -i 'skip-grant-tables'|wc -l
0
root@gitlab:~# cat /etc/mysql/my.cnf |grep -i 'pass'|wc -l
0
আপডেট 3 :
আমি পুতুলের সাথে এই পদক্ষেপগুলি সম্পাদন করার চেষ্টা করেছি, (যা স্বয়ংক্রিয়ভাবে ফ্লাশ সুবিধাগুলি সম্পাদন করা উচিত)। আমি ম্যানুয়ালি সুবিধাগুলিও ফ্লাশ করেছি এবং মাইএসকিএল পুনরায় চালু করার চেষ্টা করেছি।
আপডেট 4 :
আমি মাইএসকিএল রুট পাসওয়ার্ড পরিবর্তন করার চেষ্টা করেছি এবং সুযোগ-সুবিধাদি শেষ করেছি। ভাগ্য নেই, আমি এখনও কোনও পাসওয়ার্ড ছাড়াই কোনও ব্যবহারকারী হিসাবে লগ ইন করতে পারি।