Mysql

在 MySQL 5.5 中創建超級使用者不起作用:root@localhost 的權限被拒絕

  • November 22, 2015

使用 CentOS 6,以 身份登錄 MySQL root,輸入命令:

create user 'user123' identified by 'pass123';

工作正常。但是,當我嘗試為該使用者super user privileges 提供:

grant all on *.* to 'user123' identified by 'pass123';

我得到錯誤:

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

然後

select * from mysql.user;

顯示 root 在所有列中都有 Y,因此應該具有所有權限。

如果有人能幫我找出 root 無法授予權限的原因,我將不勝感激,因為我看不出它為什麼不起作用。

謝謝

最後不得不繞過授權表。看這裡:

https://stackoverflow.com/questions/10130296/mysql5-as-root-cant-create-database-or-do-anything-access-denied

關於如何做到這一點

MySQL 中的權限與“使用者名”“主機”相關聯。主機可以是域名、IP 地址或“本地主機”。其中任何一個都可以包含萬用字元%。如果您從錯誤的位置連接,即使使用正確的使用者名和密碼,您仍然會收到權限被拒絕錯誤。

這些不同的使用者中的每一個都可以對不同的數據庫、表、行和命令具有不同的訪問權限。

還值得注意的是,“127.0.0.1”與“localhost”不同,因為mysql在命令行上使用客戶端將使用套接字而不是 IP 進行連接。如果在 MySQL 伺服器上使用客戶端時要使用 IP 連接mysql,可以指定-h <IP address>.

要查看所有不同的“使用者”:

SELECT user,host,password FROM mysql.user;

引用自:https://serverfault.com/questions/432985