You have permissions on the “wikidb” database but the upgrader is trying to alter a table in the “mediawiki” database. Double check your db settings in LocalSettings.php
-- Ryan Schmidt Sent from my iPhone > On Sep 21, 2018, at 6:09 AM, Jeff Darlington <[email protected]> > wrote: > > For the record, this problem that I reported back in June still does not > seem to be resolved with MediaWiki 1.31.1. I am still unable to upgrade to > the 1.31.x branch because the updater script says my wiki admin user > doesn't have the necessary privileges to ALTER table ipblocks. The > database user account has full privileges to the entire MediaWiki database, > so I have no idea why this error is occurring. Fortunately, I'm able to > update to MediaWiki 1.30.1 without a problem, but I'd much rather be on the > latest and greatest code base. > > My MediaWiki installation is pretty much vanilla except for a single custom > extension that I have eliminated as a possible suspect. Something has > definitely changed between 1.30.x and 1.31.x, possibly in the updater, that > isn't working. > > I'm at a complete loss here. Any help would be greatly appreciated. > > MediaWiki updater output with debugging and tracing turned on: > ===================== > MediaWiki 1.31.1 Updater > > Your composer.lock file is up to date with current dependencies! > Going to run database updates for wikidb > Depending on the size of your database this may take a while! > Abort with control-c in the next five seconds (skip this countdown with > --quick) ... 0 > Turning off Content Handler DB fields for this part of upgrade. > Adding ipb_id field to table ipblocks ...[6f8054f6cf05b696bf3c9981] [no > req] Wikimedia\Rdbms\DBQueryError from line 1457 of > /var/www/gpf/mediawiki-1.31.1/includes/libs/rdbms/database/Database.php: A > database query error has occurred. Did you forget to run your application's > database schema updater after upgrading? > Query: ALTER TABLE `mediawiki`.`ipblocks` > ADD ipb_auto tinyint NOT NULL default '0', > ADD ipb_id int NOT NULL auto_increment, > ADD PRIMARY KEY (ipb_id) > > Function: Wikimedia\Rdbms\Database::sourceFile( > /var/www/gpf/mediawiki-1.31.1/maintenance/archives/patch-ipblocks.sql ) > Error: 1142 ALTER command denied to user 'wikiadmin'@'localhost' for table > 'ipblocks' (localhost) > > Backtrace: > #0 > /var/www/gpf/mediawiki-1.31.1/includes/libs/rdbms/database/Database.php(1427): > Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, > string) > #1 > /var/www/gpf/mediawiki-1.31.1/includes/libs/rdbms/database/Database.php(1200): > Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, > boolean) > #2 > /var/www/gpf/mediawiki-1.31.1/includes/libs/rdbms/database/Database.php(4194): > Wikimedia\Rdbms\Database->query(string, string) > #3 > /var/www/gpf/mediawiki-1.31.1/includes/libs/rdbms/database/Database.php(4129): > Wikimedia\Rdbms\Database->sourceStream(unknown type, NULL, NULL, string, > NULL) > #4 > /var/www/gpf/mediawiki-1.31.1/includes/installer/DatabaseUpdater.php(683): > Wikimedia\Rdbms\Database->sourceFile(string) > #5 > /var/www/gpf/mediawiki-1.31.1/includes/installer/DatabaseUpdater.php(751): > DatabaseUpdater->applyPatch(string, boolean, string) > #6 > /var/www/gpf/mediawiki-1.31.1/includes/installer/DatabaseUpdater.php(482): > DatabaseUpdater->addField(string, string, string) > #7 > /var/www/gpf/mediawiki-1.31.1/includes/installer/DatabaseUpdater.php(446): > DatabaseUpdater->runUpdates(array, boolean) > #8 /var/www/gpf/mediawiki-1.31.1/maintenance/update.php(200): > DatabaseUpdater->doUpdates(array) > #9 /var/www/gpf/mediawiki-1.31.1/maintenance/doMaintenance.php(94): > UpdateMediaWiki->execute() > #10 /var/www/gpf/mediawiki-1.31.1/maintenance/update.php(245): > require_once(string) > #11 {main} > ===================== > > MariaDB user privileges check: > ===================== >> show grants for 'wikiadmin'@'localhost'; > GRANT ALL PRIVILEGES ON `wikidb`.* TO 'wikiadmin'@'localhost' > ===================== > > -- > > Jeffrey T. Darlington > General Protection Fault > https://www.gpf-comics.com/ > > > On Thu, Jun 14, 2018 at 3:47 PM Jeff Darlington <[email protected]> > wrote: > >> As previously stated, the admin user has full privileges to the wiki DB: >> >>> show grants for 'wikiadmin'@'localhost'; >> GRANT ALL PRIVILEGES ON `wikidb`.* TO 'wikiadmin'@'localhost' >> >> The database is on the same box as the Web server, so localhost ought to >> work. Also as previously stated, none of these attributes have changed on >> this box since MW 1.30.0, which is currently running without incident. >> >> Jeffrey T. Darlington >> General Protection Fault >> https://www.gpf-comics.com/ >> >> >> >>> On Thu, Jun 14, 2018 at 3:36 PM Brian Wolff <[email protected]> wrote: >>> >>> The error should be different if it was due to the column already existing >>> >>> Are you sure that wikiadmin has full permissions (Check to make sure >>> that the permissions are for the right db, as well as for the right >>> host). >>> >>> -- >>> Brian >>> >>> On Thu, Jun 14, 2018 at 5:43 PM, Jeff Darlington >>> <[email protected]> wrote: >>>> I could have sworn I had those to variables added when I tried running >>> it a >>>> second time, but I guess I didn't. Here's the updated output: >>>> >>>> ============= >>>> MediaWiki 1.31.0 Updater >>>> >>>> Your composer.lock file is up to date with current dependencies! >>>> Going to run database updates for wikidb >>>> Depending on the size of your database this may take a while! >>>> Abort with control-c in the next five seconds (skip this countdown with >>>> --quick) ... 0 >>>> Turning off Content Handler DB fields for this part of upgrade. >>>> Adding ipb_id field to table ipblocks ...[ff08e486f9ef856d82769935] [no >>>> req] Wikimedia\Rdbms\DBQueryError from line 1457 of >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php: A >>>> database query error has occurred. Did you forget to run your >>> application's >>>> database schema updater after upgrading? >>>> Query: ALTER TABLE `mediawiki`.`ipblocks` >>>> ADD ipb_auto tinyint NOT NULL default '0', >>>> ADD ipb_id int NOT NULL auto_increment, >>>> ADD PRIMARY KEY (ipb_id) >>>> >>>> Function: Wikimedia\Rdbms\Database::sourceFile( >>>> /var/www/gpf/mediawiki-1.31.0/maintenance/archives/patch-ipblocks.sql ) >>>> Error: 1142 ALTER command denied to user 'wikiadmin'@'localhost' for >>> table >>>> 'ipblocks' (localhost) >>>> >>>> Backtrace: >>>> #0 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1427): >>>> Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, >>>> string) >>>> #1 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1200): >>>> Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, >>> string, >>>> boolean) >>>> #2 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(4194): >>>> Wikimedia\Rdbms\Database->query(string, string) >>>> #3 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(4129): >>>> Wikimedia\Rdbms\Database->sourceStream(unknown type, NULL, NULL, string, >>>> NULL) >>>> #4 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/installer/DatabaseUpdater.php(683): >>>> Wikimedia\Rdbms\Database->sourceFile(string) >>>> #5 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/installer/DatabaseUpdater.php(751): >>>> DatabaseUpdater->applyPatch(string, boolean, string) >>>> #6 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/installer/DatabaseUpdater.php(482): >>>> DatabaseUpdater->addField(string, string, string) >>>> #7 >>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/installer/DatabaseUpdater.php(446): >>>> DatabaseUpdater->runUpdates(array, boolean) >>>> #8 /var/www/gpf/mediawiki-1.31.0/maintenance/update.php(200): >>>> DatabaseUpdater->doUpdates(array) >>>> #9 /var/www/gpf/mediawiki-1.31.0/maintenance/doMaintenance.php(94): >>>> UpdateMediaWiki->execute() >>>> #10 /var/www/gpf/mediawiki-1.31.0/maintenance/update.php(245): >>>> require_once(string) >>>> #11 {main} >>>> ============= >>>> >>>> The "ALTER command denied to user 'wikiadmin'@'localhost' for table >>>> 'ipblocks'" error shouldn't be a permissions issue; "wikiadmin" has full >>>> permissions to the DB. >>>> >>>> However, as stated in my second message, column ipb_id already exists on >>>> ipblocks as of my MW 1.30.0 install. It could be barfing on the ALTER >>> ADD >>>> because the column already exists. >>>> >>>> Jeffrey T. Darlington >>>> General Protection Fault >>>> https://www.gpf-comics.com/ >>>> >>>> >>>> On Thu, Jun 14, 2018 at 1:35 PM Ryan Schmidt <[email protected]> >>> wrote: >>>> >>>>> The update is failing for some reason. If you re-run the update.php >>> script >>>>> with those two settings in LocalSettings.php, it will give you the >>> exact >>>>> error message for what failed. With that info, we should be able to >>> figure >>>>> out what is going on and therefore what steps need to be taken to make >>> the >>>>> upgrade successful. >>>>> >>>>> Reply back with the error message from update.php once you have it. >>>>> >>>>>> On Jun 14, 2018, at 9:23 AM, Jeff Darlington < >>> [email protected]> >>>>> wrote: >>>>>> >>>>>> My current setup, under which MW is running swimmingly: >>>>>> >>>>>> Fedora 27 >>>>>> Apache 2.4.33 >>>>>> MariaDB 10.2.14 >>>>>> MediaWiki 1.30.0 >>>>>> >>>>>> I am attempting to upgrade to MW 1.31.0. I unzipped the tarball >>> into a >>>>>> fresh directory, copied over my LocalSettings.php file, and changed >>> the >>>>>> symlink that I use with Apache to point to the new location. I then >>>>>> attempted to run maintenance/update.php and it cryptically ended >>> with a >>>>>> whimper: >>>>>> >>>>>> ==================== >>>>>> MediaWiki 1.31.0 Updater >>>>>> >>>>>> Your composer.lock file is up to date with current dependencies! >>>>>> Going to run database updates for wikidb >>>>>> Depending on the size of your database this may take a while! >>>>>> Abort with control-c in the next five seconds (skip this countdown >>> with >>>>>> --quick) ... 0 >>>>>> Turning off Content Handler DB fields for this part of upgrade. >>>>>> Adding ipb_id field to table ipblocks ...Set $wgShowExceptionDetails >>> = >>>>>> true; and $wgShowDBErrorBacktrace = true; at the bottom of >>>>>> LocalSettings.php to show detailed debugging information. >>>>>> ==================== >>>>>> >>>>>> I added the suggested flags to LocalSettings and got the following >>> in my >>>>>> browser: >>>>>> >>>>>> ==================== >>>>>> >>>>>> [WyJ-joCjti3zg1lzHPXHqQAAAAM] /wiki/Main_Page >>>>> Wikimedia\Rdbms\DBQueryError >>>>>> from line 1457 of >>>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php: >>>>> A >>>>>> database query error has occurred. Did you forget to run your >>>>> application's >>>>>> database schema updater after upgrading? >>>>>> Query: SELECT >>>>>> >>>>> >>> user_id,user_name,user_real_name,user_email,user_touched,user_token,user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount >>>>>> FROM `mediawiki`.`user` WHERE user_id = '1' LIMIT 1 >>>>>> Function: User::loadFromDatabase >>>>>> Error: 1142 SELECT command denied to user 'wikiuser'@'localhost' for >>>>> table >>>>>> 'user' (localhost) >>>>>> >>>>>> Backtrace: >>>>>> >>>>>> #0 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1427): >>>>>> Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, >>>>>> string) >>>>>> #1 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1200): >>>>>> Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, >>>>> string, >>>>>> boolean) >>>>>> #2 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1653): >>>>>> Wikimedia\Rdbms\Database->query(string, string) >>>>>> #3 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/rdbms/database/Database.php(1730): >>>>>> Wikimedia\Rdbms\Database->select(array, array, array, string, array, >>>>> array) >>>>>> #4 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(1407): >>>>>> Wikimedia\Rdbms\Database->selectRow(array, array, array, string, >>> array, >>>>>> array) >>>>>> #5 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(537): >>>>>> User->loadFromDatabase(integer) >>>>>> #6 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/objectcache/WANObjectCache.php(1240): >>>>>> User->{closure}(boolean, integer, array, NULL) >>>>>> #7 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/libs/objectcache/WANObjectCache.php(1110): >>>>>> WANObjectCache->doGetWithSetCallback(string, integer, Closure, array) >>>>>> #8 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(561): >>>>>> WANObjectCache->getWithSetCallback(string, integer, Closure, array) >>>>>> #9 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(482): >>>>>> User->loadFromCache() >>>>>> #10 /var/www/gpf/mediawiki-1.31.0/includes/user/User.php(420): >>>>>> User->loadFromId(integer) >>>>>> #11 /var/www/gpf/mediawiki-1.31.0/includes/session/UserInfo.php(88): >>>>>> User->load() >>>>>> #12 >>>>>> >>>>> >>> /var/www/gpf/mediawiki-1.31.0/includes/session/CookieSessionProvider.php(119): >>>>>> MediaWiki\Session\UserInfo::newFromId(string) >>>>>> #13 >>>>> /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(488): >>>>>> >>> MediaWiki\Session\CookieSessionProvider->provideSessionInfo(WebRequest) >>>>>> #14 >>>>> /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(191): >>>>>> >>> MediaWiki\Session\SessionManager->getSessionInfoForRequest(WebRequest) >>>>>> #15 /var/www/gpf/mediawiki-1.31.0/includes/WebRequest.php(736): >>>>>> MediaWiki\Session\SessionManager->getSessionForRequest(WebRequest) >>>>>> #16 >>>>> /var/www/gpf/mediawiki-1.31.0/includes/session/SessionManager.php(130): >>>>>> WebRequest->getSession() >>>>>> #17 /var/www/gpf/mediawiki-1.31.0/includes/Setup.php(847): >>>>>> MediaWiki\Session\SessionManager::getGlobalSession() >>>>>> #18 /var/www/gpf/mediawiki-1.31.0/includes/WebStart.php(88): >>>>>> require_once(string) >>>>>> #19 /var/www/gpf/mediawiki-1.31.0/index.php(39): require(string) >>>>>> #20 {main} >>>>>> >>>>>> ==================== >>>>>> Needless to say, I'm pretty confused here. Nothing has changed to my >>>>>> configuration (and probably to the wiki's contents) since I >>> successfully >>>>>> upgraded to 1.30.0. If I switch my symlink back to point to my MW >>> 1.30.0 >>>>>> install, the site loads just fine. So it appears the updater is >>> bombing >>>>>> when it tries to add the field "ipb_id" to table "ipblocks". >>>>>> >>>>>> What confuses me is the "SELECT command denied to user 'wikiuser'@ >>>>> 'localhost'" >>>>>> error. My wiki has two MariaDB users: "wikuser" (the standard user >>> set >>>>> in >>>>>> $wgDBuser) and an admin user set with $wgDBadminuser. Neither user >>>>> account >>>>>> has changed, either in the DB or in LocalSettings. >>>>>> >>>>>> It *almost* looks like the updater is trying to use the standard >>> user to >>>>> do >>>>>> admin functions, but even that doesn't make much sense. "wikiuser" >>> has >>>>>> SELECT access to all tables in the DB, while the admin user has all >>>>>> permissions to the entire DB. So I don't see why that specific error >>>>> would >>>>>> crop up; even "wikiuser" should be able to perform a simple SELECT. >>>>>> >>>>>> Fortunately, I can switch back to MW 1.30.0 pretty easily, but I >>> thought >>>>> I >>>>>> ought to report the problem. >>>>>> >>>>>> ADDENDUM: I just noticed the following in the 1.31 release notes: >>>>>> >>>>>> ==================== >>>>>> Important pre-upgrade notes for 1.31 >>>>>> >>>>>> - If you're using MySQL, SQLite, or MSSQL, are not using >>> update.php to >>>>>> apply schema changes, and cannot have downtime to run >>>>>> migrateArchiveText.php and apply patch-drop-ar_text.sql manually, >>>>> you'll >>>>>> have to apply a default value to the ar_text and ar_flags columns >>> of >>>>> the >>>>>> archive table or make those columns nullable before upgrading to >>>>> MediaWiki >>>>>> 1.31. maintenance/archives/patch-nullable-ar_text.sql shows how to >>> do >>>>> this >>>>>> for MySQL. >>>>>> >>>>>> ==================== >>>>>> Based on this, I think there's something screwy with update.php. I >>> *am* >>>>>> using update.php to apply schema changes, but I'm guessing it's not >>>>> working >>>>>> correctly. I have *not* tried this manual fix (and would prefer not >>> to >>>>>> unless absolutely necessary). >>>>>> >>>>>> Jeffrey T. Darlington >>>>>> General Protection Fault >>>>>> https://www.gpf-comics.com/ >>>>>> _______________________________________________ >>>>>> MediaWiki-l mailing list >>>>>> To unsubscribe, go to: >>>>>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l >>>>> >>>>> _______________________________________________ >>>>> MediaWiki-l mailing list >>>>> To unsubscribe, go to: >>>>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l >>>>> >>>> _______________________________________________ >>>> MediaWiki-l mailing list >>>> To unsubscribe, go to: >>>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l >>> >>> _______________________________________________ >>> MediaWiki-l mailing list >>> To unsubscribe, go to: >>> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l >>> >> > _______________________________________________ > MediaWiki-l mailing list > To unsubscribe, go to: > https://lists.wikimedia.org/mailman/listinfo/mediawiki-l _______________________________________________ MediaWiki-l mailing list To unsubscribe, go to: https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
