Description:
With the advent of the EVENT privilege, the Event_priv was
added to the user and db tables. But privileges that are added
to the db table also need to be added to the host table.
Event_priv is missing from the host table.
This issue affects both mysql_create_system_tables.sh
and mysql_fix_privilege_tables.sql.
How to repeat:
mysql_fix_privilege_tables.sql:
#
# EVENT privilege
#
ALTER TABLE user add Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL AFTER Create_user_priv;
ALTER TABLE db add Event_priv enum('N','Y') character set utf8 DEFAULT 'N' NOT NULL;
There needs to be a similar ALTER TABLE for host.
mysql_create_system_tables.sh:
This is part of the creation for the db table:
c_d="$c_d Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
c_d="$c_d Event_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
c_d="$c_d Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
The same part for the host table looks like this:
c_h="$c_h Execute_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
c_h="$c_h Trigger_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
Note the missing line for Event_priv.
Suggested fix:
See how-to-repeat.