সুবিধাগুলি দেওয়ার চেষ্টা করার সময় ব্যবহারকারীর 'রুট' @ 'লোকালহোস্ট' এর জন্য অ্যাক্সেস অস্বীকার করা হয়েছে। আমি কীভাবে সুযোগ সুবিধা দেব?


166

আমি বেশ কয়েকটি অনুরূপ প্রশ্নের দিকে নজর রেখেছি এবং তাই আমি প্রদর্শন করছি যে আমি বেসিকগুলি পরীক্ষা করেছি। অবশ্যই, এর অর্থ এই নয় যে আমি পুরোপুরি সুস্পষ্ট কিছু মিস করিনি। :-)

আমার প্রশ্নটি হল: আমি যা করার চেষ্টা করছি এবং যেখানে আমি ইতিমধ্যে পাসওয়ার্ডটি টাইপ করেছি এবং অ্যাক্সেস পেয়েছি সেখানে করার সুযোগ সুবিধা সহ আমি কেন আমার ব্যবহারকারীর প্রবেশাধিকার অস্বীকার করা হচ্ছে? (সম্পূর্ণতার স্বার্থে, আমি মাইএসকিউএল ক্লায়েন্ট আমাকে প্রোগ্রাম শুরুতে অ্যাক্সেস অস্বীকার করতে পারে তা নিশ্চিত করার জন্য আমি ভুল পাসওয়ার্ড টাইপ করার চেষ্টা করেছি।)

পটভূমি:

এসএসএসের মাধ্যমে মাইএসকিউএল সার্ভার চালিত মেশিনের শেলটিতে লগ ইন করে আমি রুট হিসাবে লগ ইন করেছি:

[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)

আমি এই বেসিক কিছু স্ক্রু করতে পারে কিভাবে?

পার্শ্ব দ্রষ্টব্য: যে কেউ সুপারিশ করতে চায় যে আমার কাছে সমস্ত সুবিধাসহ রুট নামক কোনও ব্যবহারকারী নেই, এটি দুর্দান্ত এবং আমি অন্য ব্যবহারকারীকে কিছু সুযোগ-সুবিধা দেওয়ার পরে একবার করার বিষয়টি বিবেচনা করব।

ধন্যবাদ!


2
আমি একই দূরবর্তী অবস্থানের অভিজ্ঞতা নিচ্ছি (এবং নির্বাচন করুন * FROM mysql.user থেকে যেখানে ব্যবহারকারী = 'রুট' এবং হোস্ট = '%' আপনার একই সুযোগগুলি দেখায়)। যাইহোক, আইটি লোকালটিতে কাজ করে যদিও হোস্ট = '%' এর সাথে mysql.user এর সারিটি ক্ষেত্রটি বাদে হোস্ট = 'লোকালহোস্ট' সারিটির সাথে সমান। আমি উইন্ডোজ সার্ভার 2003 এ 5.0.45 চালাচ্ছি Any কোনও উত্তর কৃতজ্ঞতার সাথে গৃহীত হয়েছে!
রিচার্ড ফাউসেট

3
এমন একটি সংগঠিত প্রশ্নের জন্য +1!
Dewsworld

1
প্রশাসক হিসাবে রান করে আপনি সেন্টিমিডে opend করেছেন তা নিশ্চিত করুন
লিজো

1
আমার সবেমাত্র -pপাসওয়ার্ডের মধ্যে একটি জায়গা ছিল । আমি এর নির্বোধ জানি কিন্তু কারও সাহায্য করতে পারে।
বিনয় ডাব্লু

উত্তর:


57

কিভাবে আউটপুট দেখুন

SHOW GRANTS FOR 'root'@'localhost';

'সমস্ত ব্যক্তিগতকাগুলি' বলেন নি তবে @ লোকালহোস্টের মূলটি কী আছে তা বানান করতে হয়েছিল।

সমস্ত ব্যক্তিগত অনুমোদন ব্যর্থ হবে, কারণ কোনও ব্যবহারকারী তার / তার যা নেই তা মঞ্জুরি দিতে পারে না এবং সার্ভারটি মনে করে যে এখানে কিছু নেই ...

এখন, তাহলে কি অনুপস্থিত?

আমার সিস্টেমে, আমি এটি পেয়েছি:

mysql> select version();
+------------+
| version()  |
+------------+
| 5.5.21-log |
+------------+
1 row in set (0.00 sec)

mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM mysql.user WHERE User='root' and Host='localhost'\G
*************************** 1. row ***************************
                  Host: localhost
                  User: root
              Password: 
           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
Create_tablespace_priv: Y <----------------------------- new column in 5.5
              ssl_type: 
            ssl_cipher: 
           x509_issuer: 
          x509_subject: 
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin: <------------------------------- new column in 5.5
 authentication_string: <------------------------------- new column in 5.5
1 row in set (0.00 sec)

5.5 তে নতুন সারণীও রয়েছে, যেমন mysql.proxies_user: আপনার সেগুলি রয়েছে তা নিশ্চিত করুন।

ব্র্যান্ড নিউ মাইএসকিএল সার্ভার ইনস্ট্যান্স ইনস্টল করার সময়, ইনস্টল স্ক্রিপ্টটি সমস্ত মাইএসকিএল তৈরি করবে * যথাযথ কাঠামোর সাথে টেবিলগুলি।

পুরানো সংস্করণ থেকে আপগ্রেড করার সময়, নিশ্চিত করুন যে সঠিক আপগ্রেড প্রক্রিয়াটি (মাইএসকিএল_আপগ্রেড) ব্যবহৃত হয়েছে যা নিখোঁজ টেবিল / কলামগুলিকে যুক্ত করবে।

এটি কেবল অনুমান করা যায়, তবে মনে হয় mysql_upregation এই উদাহরণস্বরূপ করা হয়নি, যার ফলে আচরণটি দেখা গেছে।


7
এটি দরকারী তথ্য, তবে আমি কীভাবে সমস্যাটি সমাধান করব?
আগস্ট

2
@ অগুরার, মাইএসকিএল_আপগ্রেড
মার্ক অ্যাল্ফ

অথবা, 'অল প্রাইভেলিজ' সহ আপনার আর কোনও ব্যবহারকারী আছে কিনা তা পরীক্ষা করে দেখুন এবং সেই একটিতে স্যুইচ করুন এবং লোকালহোস্টের জন্য সুবিধাটি পরিবর্তন করুন। প্রাক্তন হিসাবে, আমার কাছে root@127.0.0.1 এ সমস্ত সুবিধা ছিল এবং রুট @ লোকালহোস্ট এটি করেনি।
ক্যারাবাস ম্যানুয়েল

72

আমার এই একই সমস্যাটি ছিল তবে মাইএসকিউএল 5.1 থেকে মাইএসকিউএল 5.5 এ আপগ্রেড করার পরে উইন্ডোজটিতে। আমি ইতিমধ্যে এখানে , এখানে , এখানে , এবং এখানে কোনও পাসওয়ার্ড উল্লিখিত পাসওয়ার্ড পরিবর্তন, তৈরি এবং পুনরায় সেট করার চেষ্টা করেছি । আমি এখনও একই ত্রুটি পেয়েছি:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

আমি সাধারণত সংযোগ করতে সক্ষম, সমস্ত ডাটাবেস প্রদর্শন করতে, নির্বাচন এবং সন্নিবেশ করানো, ব্যবহারকারী তৈরি করতে এবং যুক্ত করতে এবং যখন গ্রান্টের কথা আসে তখন আমি বিভ্রান্ত হয়ে পড়েছি। এই অ্যাক্সেস অস্বীকার ত্রুটি আবার প্রদর্শিত হবে।

আমি এখানে উল্লিখিত হিসাবে মাইএসকিউএল সার্ভার বিন / ডিরেক্টরিতে নিম্নলিখিত কমান্ড দ্বারা সুবিধাগুলি ঠিক করে এই সমস্যার সমাধান করতে পেরেছি :

C:\MySQL Server 5.5\bin> mysql_upgrade

তারপরে, সমস্যাটি চলে গেল। আমি আশা করি যে এই সমাধানটি লিনাক্সেও কার্যকর হয় কারণ সাধারণত মাইএসকিউএল লিনাক্স এবং উইন্ডোজ উভয় ক্ষেত্রে একই কমান্ড সরবরাহ করে।


2
থ্যানেক্স .. ম্যাক ওএসে cd /usr/local/Cellar/mysql/5.5.25a/bin && mysql_upgrade
মাইএসসিএল সহ হোমব্রিউয়ের

30
আপনি যদি সেন্টোতে থাকেন বা প্যাকেজ ম্যানেজারের মাধ্যমে মাইএসকিউএল ইনস্টল করেছেন এটি সম্ভবত আপনার চালানো উচিত আদেশটি: /usr/bin/mysql_upgrade -u root -pপাসওয়ার্ড এবং বব এর আপনার চাচা প্রবেশ করুন!
জোজোয়া

অনেক মন্তব্য সহ এখানে এবং সেখানে লড়াই করার পরে, এই আমাকে সাহায্য করেছে। অনেক অনেক ধন্যবাদ
সিদ্ধসিংহ

আমি জানি এই পুরোনো কিন্তু এই আমাকে অনেক সাহায্য করেছে এবং আমি ভবিষ্যতে দর্শকদের জন্য আরও একটি মন্তব্য যোগ করতে চেয়েছিলেন: আপনি mysql_upgrade চালানোর চেষ্টা থেকে বঞ্চিত অ্যাক্সেস পেয়ে থাকেন, এটা ভালো পরিবর্তে চলমান চেষ্টা করুন: mysql_upgrade -p
Blizz

2
আমি যা পেয়েছি তা হ'ল যদি আপনি মাইএসকিউএল <= 5.1 এর মাধ্যমে ডাটাবেসগুলি mysqldump ... --all-databasesআপনার মাইএসকিউএল> = 5.5 এর মাধ্যমে রফতানি করেন তবে আপনার ব্যবহারকারীদের প্রতিস্থাপন করা হবে (অবশ্যই), তবে আপনার rootওপি হিসাবে একই সমস্যা হবে। এবং mysql_upgradeকাজ করবে না - আপনাকে --forceপতাকা যুক্ত করতে হবে, অর্থাত্‍ mysql_upgrade -u root -p --force। আশা করি এখানে কাউকে সহায়তা করবে।
গ্রেগলটসভ

62

আপনি যখন অন্য ব্যবহারকারীর কাছে সমস্ত টেবিলের সমস্ত সুযোগ-সুবিধা দেওয়ার চেষ্টা করবেন তখন এটি ঘটতে পারে, কারণ mysql.users সারণীটি রুট ব্যতীত অন্য কোনও ব্যবহারকারীর জন্য সীমার বাইরে বিবেচিত হয়।

নিম্নলিখিতগুলিতে অবশ্য কাজ করা উচিত:

GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;

মনে রাখবেন যে আমরা *। * এর পরিবর্তে `%` ব্যবহার করি *


28
দয়া করে এটি ব্যাখ্যা করুন। কেন '%'.*কাজ করে না *.*?
পেসারিয়ার 11

এটি করার সঠিক উপায় এটি। আপনাকে মূল হিসাবে মাইএসকিউএল এ লগইন করতে হবে এবং তারপরে সুযোগ-সুবিধা দেওয়ার চেষ্টা করতে হবে।
নাভ

আমি ত্রুটি পেয়েছি 1044 অ্যাক্সেস প্রত্যাখ্যান করা হয়েছে :( আমাকে দয়া করে সহায়তা করুন
ভৌমিক ঠাক্কার

ধন্যবাদ, পাইমস্কুল ব্যবহার করে পাইথন অ্যাপ্লিকেশন থেকে মাইএসকিএল অ্যাক্সেস করার চেষ্টা করছিলাম। "হোস্টটিকে এই মারিয়াডিবি সার্ভারের সাথে সংযোগ করার অনুমতি নেই " বলে ত্রুটি পেয়েছে, [এখানে] একটি নতুন ব্যবহারকারী ( স্ট্যাকওভারফ্লো / সিকিউশনস / ১৯১০১২৩৩/২ ) যোগ করে সমাধান করেছে , তারপরে "ব্যবহারকারীর জন্য অ্যাক্সেস অস্বীকৃত" বলে অন্য একটি ত্রুটি পেয়েছে , এবং এটি আপনার পদ্ধতি দ্বারা সমাধান করুন।
বলরাজ

1
'%'.*পরিবর্তে ব্যবহার `%`.*করলে কাজ হয় না। আপনার অবশ্যই ব্যবহার করা উচিত`%`.*
রোজারিও রুশো

7

আমার সাথে এই ঘটেছিল যখন আমি বিতরণের সাথে আসার চেয়ে উচ্চতর মাইএসকিউএল সংস্করণ ইনস্টল করার চেষ্টা করেছি।

আমি পুরানো সংস্করণটি মুছে ফেললাম তারপরে নতুনটি ইনস্টল করেছি (rpm -e ... তারপরে আরপিএম -i মাইএসকিউএল-সার্ভার *) তবে বুঝতে পারিনি যে / var / lib / mysql তে থাকা ফাইলগুলি এখনও পুরানো সংস্করণ থেকে রয়েছে (যেমন পার্থক্য সহ) মার্ক আলফ দ্বারা ব্যাখ্যা - ধন্যবাদ!)

আমি একটি মাইএসকিএল_আপগ্রেড করতে পারতাম, তবে আমি স্ক্র্যাচ থেকে শুরু করতে চেয়েছিলাম:

# su - mysql
$ rm -rf /var/lib/mysql/*
$ mysql_install_db
# /etc/init.d/mysql start

তারপরে রুট পাসওয়ার্ড (/ usr / bin / mysqladmin -u root পাসওয়ার্ড) সেট করুন, এবং সকলেই GRANT কমান্ডের সাথে প্রত্যাশা অনুযায়ী কাজ করেছেন ...


ধন্যবাদ, এটি আমাকে সাহায্য করেছে। ভাগ্যক্রমে, আমি সমস্ত ডিবিগুলি বাতিল করে দিলে কিছু যায় আসে না ...
জারোদ মোসেন

5

মূলত এই ত্রুটিটি তখনই আসে যখন আপনি কোনও পাসওয়ার্ড নির্দিষ্ট না করে থাকেন, এর অর্থ হ'ল আপনার কাছে কোনও বিকল্প ফাইলে তালিকাভুক্ত ভুল পাসওয়ার্ড রয়েছে।

কীভাবে অ্যাকাউন্টগুলিতে পাসওয়ার্ডগুলি অর্পণ এবং পরিচালনা করবেন তা বোঝার জন্য এই ডোকটি পড়ুন ।

এছাড়াও, ফোল্ডারে অনুমতিটি /var/lib/mysql/mysql 711 আছে কি না তা পরীক্ষা করে দেখুন।


এটি আমার পক্ষে কাজ করেছে। দেখে মনে হচ্ছে মাইএসকিএল 'ইউজার' @ 'লোকালহোস্ট' এর জন্য কোনও অনুমতি তৈরি করে না। সুতরাং আমাকে সেই ব্যবহারকারী তৈরি করতে হয়েছিল এবং এটিতে একটি পাসওয়ার্ড রয়েছে তা নিশ্চিত করতে হয়েছিল।
জেরিনা

অনুমতিগুলি ভুল ছিল! আমি অবাক. পোস্ট করার জন্য অনেক ধন্যবাদ।
আদম

5

আমার একই সমস্যা ছিল, যেমন মূলের জন্য সমস্ত সুযোগ-সুবিধা দেওয়া হয়েছে:

SHOW GRANTS FOR 'root'@'localhost'\G
*************************** 1. row ***************************
Grants for root@localhost: GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*[blabla]' WITH GRANT OPTION

... তবে এখনও একটি টেবিল তৈরি করার অনুমতি নেই:

 create table t3(id int, txt varchar(50), primary key(id));
ERROR 1142 (42000): CREATE command denied to user 'root'@'localhost' for table 't3'

ঠিক আছে, এটি একটি বিরক্তিকর ব্যবহারকারীর ত্রুটির কারণে হয়েছিল, আমি কোনও ডাটাবেস নির্বাচন করি নি। ইউএসই ডিবি নাম দেওয়ার পরে এটি ভাল কাজ করেছে।


5

ডেবিয়ান (চালু হুইজি , 7.8) মাইএসকিউএল 5.5.40 সঙ্গে, আমি দেখেছি SELECT * FROM mysql.user WHERE User='root'\Gদেখিয়েছেন Event_privএবং 'Trigger_priv` ক্ষেত্র ছিল বর্তমান কিন্তু না ওয়াই সেট

দৌড়াদৌড়ি mysql_upgrade(সাথে বা বাইরে --force) কোনও পার্থক্য করেনি; আমার একটি ম্যানুয়াল করার দরকার ছিল:

update user set Event_priv = 'Y',Trigger_priv = 'Y' where user = 'root'

তারপরে অবশেষে আমি ব্যবহার করতে পারি:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION

… এবং তারপরে এটিকে স্বতন্ত্র ডাটাবেস / ব্যবহারকারীর অ্যাকাউন্টে আরও স্পষ্টভাবে ব্যবহার করুন।


1
এটি আমার জন্যও সমস্যাটি সমাধান করেছে, তবে কেবলমাত্র আমি জানতে পেরেছিলাম যে আপনাকে ব্যক্তিগত খোলার দরকার আছে; এরপরে এবং অনুদান বিকল্প সেট করতে পুনরায় চালু করুন।
হেন্ডরিক

5

আপনি মাইএসকিউএল 8 সংস্করণ ইনস্টল করা (আমার মতো) নিয়ে এই প্রশ্নটিতে এসে থাকতে পারেন এবং সন্তোষজনক উত্তর খুঁজে পান না। সংস্করণ 8 এ আপনি আর ব্যবহারকারী তৈরি করতে পারবেন না:

GRANT ALL PRIVILEGES ON *.* TO 'steves'@'[hostname].com' IDENTIFIED BY '[OBSCURED]' WITH GRANT OPTION;

আপনি ফিরে পেতে বরং বিভ্রান্তিকর ত্রুটি বার্তা হ'ল: ERROR 1410 (42000): You are not allowed to create a user with GRANT

8 সংস্করণে ব্যবহারকারী তৈরি করতে আপনাকে এটি দুটি ধাপে করতে হবে:

CREATE USER 'steves'@'[hostname].com' IDENTIFIED BY '[OBSCURED]';
GRANT ALL PRIVILEGES ON *.* TO 'steves'@'[hostname].com' WITH GRANT OPTION;

অবশ্যই আপনি যদি পছন্দ করেন তবে আপনি সীমিত সংখ্যক সুবিধাদি (পরিবর্তে GRANT ALL PRIVILEGES) সরবরাহ করতে পারেন , যেমনGRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER


3

টাইপিং SHOW GRANTS FOR 'root'@'localhost';আমাকে কিছু অস্পষ্ট পাসওয়ার্ড দেখিয়েছে, তাই আমি অন্য সিস্টেমে HeidiSQL ব্যবহার করে ( rootব্যবহারকারীর নাম এবং সংশ্লিষ্ট পাসওয়ার্ড হিসাবে ব্যবহার করে) সেই সিস্টেমের মাইএসকিএল-এ লগইন করেছি এবং টাইপ করেছি
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'thepassword' WITH GRANT OPTION;

এবং সিস্টেমে ফিরে গিয়ে ব্যবহার করে লগ ইন করার সময় এটি কাজ করে
mysql -uroot -pthepassword;


2

আমি যখন পারফরম্যান্স_স্কেমাতে সুবিধাগুলি যুক্ত করার চেষ্টা করেছি তখন এটি চালাচ্ছি, যা মাইএসকিএল বাগ http://bugs.mysql.com/bug.php?id=44898 (--সেনসেল-লেনদেন যোগ করার জন্য কার্যকর)।


2

আমার একই সমস্যা ছিল এবং এটি অনেকগুলি এসও পোস্ট এবং গুগলের ডকুমেন্টেশনগুলি পড়েছিল। অবশেষে আমি এটি ক্লাউড এসকিউএল এফকিউ থেকে পেয়েছি :

গুগল ক্লাউড এসকিউএল সুপারের সুবিধাগুলি সমর্থন করে না, যার অর্থ GRANT ALL PRIVILEGESবিবৃতি কার্যকর হবে না। বিকল্প হিসাবে, আপনি ব্যবহার করতে পারেনGRANT ALL ON `%`.*


1

যারা এখনও আমার মতো এ নিয়ে হোঁচট খায়, তাদের চেষ্টা করা চেষ্টা করা হয়েছে GRANTযে এটি ইতিমধ্যে বিদ্যমান নেই:

SHOW GRANTS FOR username;

আমার ক্ষেত্রে ত্রুটিটি আসলে কোনও অনুমতি ত্রুটি ছিল না কারণ এটি GRANTইতিমধ্যে বিদ্যমান ছিল।


1

মাইএসকিএল "অ্যাক্সেস অস্বীকৃত" ত্রুটিগুলির সাথে सामना করার সময় একটি সহজ সমাধান যা সর্বদা আমার জন্য কাজ করে: ব্যবহার sudo

sudo mysql -u root

তারপরে GRANTকমান্ডগুলির জন্য প্রয়োজনীয় অনুমতিগুলি উপস্থিত রয়েছে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.