I've encountered an issue after upgrade of MySQL server. Probably, upgrade procedure went south. The result was that none of the users had ALL PRIVILEGES grant.
All the administrators had 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, TRIGGER ON and GRANT OPTION
It looks very much like ALL PRIVILEGES translated into individual privileges, but obviousely something is missing. After reviewing the privileges listed, i've found that all the users were missing EVENT privilege.
mysql> SELECT * FROM mysql.user WHERE Event_priv='Y'\G
Empty set (0.01 sec)
Now, this privilege was added in MySQL 5.16 and is defined as enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'
, so probably UPDATE
on existing users have failed (or is missing in the upgrade scripts).
After realizing what was wrong, i started to look for a solution here (I mean, if NO user has this privilege, how do i GRANT
it?), and did not find a problem exactly like this one.