Manual:Maintenance scripts/Configuration


The $wgDBadminuser and $wgDBadminpassword configuration variables must be set in order to run maintenance scripts that need to alter the structure of the database (like Manual:Update.php ) if the user configured in Manual:$wgDBuser doesn't have enough permissions. Alternatively, you can pass the --dbuser and --dbpass parameters to the script. The values for these variables differ based on the database engine that is being used to power your installation of MediaWiki. If not configured, it will use the user configured in Manual:$wgDBuser .

MySQL

Some of the maintenance scripts require database permissions that, for security reasons, the main MediaWiki database account should not have. A separate database account with 'superuser' privileges for just the MediaWiki database should be created (if it does not already exist.) If the database that you use for MediaWiki is called wikidb, then the following SQL would create such a user who can exercise superuser privileges on localhost.:

GRANT ALL PRIVILEGES ON wikidb.* TO 'wikidbadmin'@'localhost' IDENTIFIED BY 'strong-password';

Once the account exists, the account name should be set in the $wgDBadminuser configuration variable. Like other configuration variables, $wgDBadminuser should be set in LocalSettings.php . A password for $wgDBadminuser must be set in the $wgDBadminpassword configuration variable.

PostgreSQL

PostgreSQL uses a different security model than MySQL and the same PostgreSQL server account used for day-to-day operation of the MediaWiki installation must also be used for running the maintenance scripts. This is necessary to ensure that the owner for new tables created by the maintenance scripts is set correctly. You don't need to set $wgDBadminuser or $wgDBadminpassword at all.