老师您好,我使用的是mysql8。
我在使用grant all on *.* to \`user\`@\`%\` with grant option为用户添加权限时发现,不可以对同一个用户执行两次该命令,第一次会成功,第二次就会失败,提示:ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation。
但是当我用root取消其他用户权限时,就会一直报这个错误。
show grants结果如下,有点不会看,为什么有两行?
*************************** 1. row *************************** Grants for root@%: 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, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO \`root\`@\`%\` WITH GRANT OPTION *************************** 2. row *************************** Grants for root@%: GRANT ALL PRIVILEGES ON \`db1\`.* TO \`root\`@\`%\` WITH GRANT OPTION 2 rows in set (0.00 sec)