對(duì)于MySQL的管理員(root賬戶)來(lái)說,擁有權(quán)限管理的能力是非常重要的。然而,在某些情況下,root賬戶可能會(huì)出現(xiàn)沒有權(quán)限管理的問題。
$ mysql -uroot -p Enter password: mysql>grant all privileges on *.* to 'root'@'localhost'; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql>flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>exit; Bye
如果你用上面的命令來(lái)授權(quán)root賬戶的話,你會(huì)發(fā)現(xiàn)授權(quán)并沒有成功。這是因?yàn)樵贛ySQL 8.0版本里,沒有給root賬戶授權(quán)CREATE USER權(quán)限,而這卻是授權(quán)其它用戶權(quán)限的前提。
解決這個(gè)問題的方法是,我們需要使用root賬戶去執(zhí)行以下命令:
$ mysql -uroot -p Enter password: mysql>grant all privileges on *.* to 'root'@'localhost' with grant option; Query OK, 0 rows affected (0.00 sec) mysql>flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>exit; Bye
在這里,我們把授權(quán)命令改為了"with grant option",這樣就能夠給root賬戶賦予CREATE USER權(quán)限。
總之,如果你在使用MySQL 8.0版本時(shí)遇到了root賬戶沒有權(quán)限管理的問題,記得使用上面的命令作出相應(yīng)的修改。