আমি বেশ কয়েকটি অনুরূপ প্রশ্নের দিকে নজর রেখেছি এবং তাই আমি প্রদর্শন করছি যে আমি বেসিকগুলি পরীক্ষা করেছি। অবশ্যই, এর অর্থ এই নয় যে আমি পুরোপুরি সুস্পষ্ট কিছু মিস করিনি। :-)
আমার প্রশ্নটি হল: আমি যা করার চেষ্টা করছি এবং যেখানে আমি ইতিমধ্যে পাসওয়ার্ডটি টাইপ করেছি এবং অ্যাক্সেস পেয়েছি সেখানে করার সুযোগ সুবিধা সহ আমি কেন আমার ব্যবহারকারীর প্রবেশাধিকার অস্বীকার করা হচ্ছে? (সম্পূর্ণতার স্বার্থে, আমি মাইএসকিউএল ক্লায়েন্ট আমাকে প্রোগ্রাম শুরুতে অ্যাক্সেস অস্বীকার করতে পারে তা নিশ্চিত করার জন্য আমি ভুল পাসওয়ার্ড টাইপ করার চেষ্টা করেছি।)
পটভূমি:
এসএসএসের মাধ্যমে মাইএসকিউএল সার্ভার চালিত মেশিনের শেলটিতে লগ ইন করে আমি রুট হিসাবে লগ ইন করেছি:
[myname@host ~]$ mysql -u root -p -hlocalhost
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 62396
Server version: 5.5.18-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
অসাধারণ. আমার অনুরূপ প্রশ্নের উত্তরগুলি পড়ার পরামর্শ দেয় যে অনুদানের টেবিলগুলিতে যা রয়েছে তার সাথে আমার সুবিধাগুলি বর্তমান কিনা তা নিশ্চিত করা উচিত I
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql>
এরপরে নিশ্চিত করুন যে আমিই আমি কে বলে মনে করি:
mysql> SELECT user();
+----------------+
| user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
... এবং সত্যিই সত্যিই নিশ্চিত:
mysql> SELECT current_user();
+----------------+
| current_user() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
mysql>
এ পর্যন্ত সব ঠিকই. এখন আমার কী সুবিধা আছে?
mysql> SHOW GRANTS FOR 'root'@'localhost';
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '[OBSCURED]' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
এখন এটি পড়তে কিছুটা কঠিন, সুতরাং এইভাবে চেষ্টা করে দেখি (আপনি দেখতে পাবেন যে কোনও লোকালহোস্ট 'রুট' ব্যবহারকারী আছে):
mysql> SELECT * FROM mysql.user WHERE User='root'\G
*************************** 1. row ***************************
Host: localhost
User: root
Password: *[OBSCURED]
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
*************************** 2. row ***************************
Host: [HOSTNAME].com
User: root
Password: *[OBSCURED]
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
2 rows in set (0.00 sec)
অসাধারণ! মাইএসকিউএল মনে করে যে আমি রুট @ লোকালহোস্ট এবং রুট @ লোকালহোস্টের এই সমস্ত সুযোগ রয়েছে। তার মানে আমার যা করা উচিত তা করতে সক্ষম হওয়া উচিত?
mysql> GRANT ALL PRIVILEGES ON *.* TO 'steves'@'[hostname].com' IDENTIFIED BY '[OBSCURED]' WITH GRANT OPTION;
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
আমি এই বেসিক কিছু স্ক্রু করতে পারে কিভাবে?
পার্শ্ব দ্রষ্টব্য: যে কেউ সুপারিশ করতে চায় যে আমার কাছে সমস্ত সুবিধাসহ রুট নামক কোনও ব্যবহারকারী নেই, এটি দুর্দান্ত এবং আমি অন্য ব্যবহারকারীকে কিছু সুযোগ-সুবিধা দেওয়ার পরে একবার করার বিষয়টি বিবেচনা করব।
ধন্যবাদ!
-p
পাসওয়ার্ডের মধ্যে একটি জায়গা ছিল । আমি এর নির্বোধ জানি কিন্তু কারও সাহায্য করতে পারে।