From: Benjamin Lees [mailto:firstname.lastname@example.org]
Sent: Thursday, August 05, 2010 2:16 PM
To: MediaWiki announcements and site admin list
Subject: Re: [Mediawiki-l] installation issue with 1.16.0 - mysql user privilege
Right. Users created through the installer pre-1.16
DELETE,INSERT,SELECT,UPDATE,CREATE TEMPORARY TABLES for the database.
This meant that if an update involved the creation of new tables, the
update would fail. If you're able to upgrade from 1.15 to 1.16
without any problems, you either already ran into this and granted the
rest of the privileges to the user, or else you originally created the
database/user before running the install script (or I'm
misunderstanding what you're doing).
I installed the (pre-1.16.0) wikis using a "superuser" account, but it does not
have all the privileges of the mysql root account. I installed wikis over many years just
fine using that account, until I tried to install a 1.16.0 wiki, when I ran into this
issue. Databases were not created in advance. When I update from 1.15.1 to 1.16.0 I have
no errors and I use the same superuser account used to install the wiki. I have checked
my logs, which I keep when I run update.php and refreshlinks.php, and no errors are seen.
I also see many tables being created, like "user_properties" table and
"log_search" table, so its not an issue of the superuser account creating
I assume you're putting your existing user in the
field (I'm pretty sure users.sql is only used if
you've checked the
"Use superuser account" box).
Right, checking superuser and using my mysql account, which has almost all privileges as
Users can only grant permissions they
your existing user doesn't have all rights on the new
database, it won't be able to grant them to the new user it's
Yes, I think this is the problem, that my superuser is missing a privilege or two. Since
the error is trying to add "ALL" privilege to the database_user, you would
pretty much have to use the mysql root account to do the installation, which is likely the
way most if not all installers do it. I have a security conscious mysql admin so the
superuser account I have does not have ALL privilege.
But it seems strange that the 1.16.0 installation wants to give ALL privilege to the
database_user it creates when it does not need ALL privilege, as proved by my ability to
run update.php to upgrade from 1.15.1 to 1.16.0. I'm guessing they are planning for
the future since it is not necessary now.