MySQL で、 root から WITH GRANT OPTION 権限が消えたので

Posted by: ytyng 4 years, 2 months ago

Ansible の mysql_user モジュールで、root ユーザーを操作していたら、他のユーザーに権限付与ができなくなっていた。

root の show grants 見たら

mysql> show grants;
+--------------------------------------------------------------+
| Grants for root@localhost                                    |
+--------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+--------------------------------------------------------------+

WITH GRANT OPTION が消えていた。

その場合、

UPDATE mysql.user SET Grant_priv = 'Y' WHERE User='root';

して、強制的に Grant_priv を立てるといい。

(この後、FLUSH PRIVILEGES; いるかも?)

正しい show grants は

mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION        |
+---------------------------------------------------------------------+

こうなる。

Currently unrated

Comments

Archive

2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011