सबसे पहले, उस उपयोगकर्ता की पहचान करें जिसमें आप लॉग इन हैं:
select user();
select current_user();
पहली कमांड का परिणाम वह है जिसे आपने लॉगिन करने का प्रयास किया था, दूसरा वह है जिसे आप वास्तव में कनेक्ट करते हैं। पुष्टि करें कि आप [email protected]
mysql में।
Grant_priv
से [email protected]
. यहां बताया गया है कि आप कैसे जांच सकते हैं।
mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
+-----------+------------------+-------------------------------------------+------------+------------+
| host | user | password | Grant_priv | Super_priv |
+-----------+------------------+-------------------------------------------+------------+------------+
| localhost | root | ***************************************** | N | Y |
| localhost | debian-sys-maint | ***************************************** | Y | Y |
| localhost | staging | ***************************************** | N | N |
+-----------+------------------+-------------------------------------------+------------+------------+
[email protected] के लिए आप देख सकते हैं कि Grant_priv N पर सेट है। इसे Y होना चाहिए। इसे ठीक करने का तरीका नीचे दिया गया है:
UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';
मैंने वापस लॉग इन किया, यह ठीक था।