Related to #3566, there is a problem with the "Events" and "Trigger" menu items on older MySQL servers.
The method currentUserHasPrivilege() checks the privilege for TRIGGER and EVENT with a given database -- in my case "ni154268_3_ch".
This replacements:
$db = str_replace(array('%', '_'), array('\%', '_'), $db);
...
self::sqlAddSlashes($db)
will result in this string: "ni154268\_3\_ch".
On MySQL 5.5x this is fine, but on MySQL 5.1.69, this does not work. If I remove the slashes and submit the resulting query, all works fine. So I think this is a compatibility issue with an old MySQL server version and can be fixed in currentUserHasPrivilege().
With phpMyAdmin 4.0.4.2 and MySQL 5.1.71, I cannot reproduce your problem. I'm using mysqlnd and the mysqli extension, and an unprivileged user who has all privileges to the ni154268_3_ch database.
Of course, in the mysql.db table, the Db column contains ni154268_3_ch to express a non-wildcard privilege.
Last edit: baf 2014-03-18