I just upgraded a functional Mediawiki site from 1.30 to 1.31. It seems like MediaWiki is now ignoring the value of $wgDBname. I can’t run update.php to finish the 1.31 upgrade, it’s saying the table no longer exists - it most definitely does, in the $wgDBname database, not the default of mediawiki. I didn’t touch anything related to MySQL, databases, users or LocalSettings.php for the 1.31 upgrade.
The output of update.php:
MediaWiki 1.31.0 Updater Your composer.lock file is up to date with current dependencies! Going to run database updates for scores Depending on the size of your database this may take a while! Turning off Content Handler DB fields for this part of upgrade. Adding ipb_id field to table ipblocks ...[bd90b77cbedf28248d6e5c43] [no req] Wikimedia\Rdbms\DBQueryError from line 1457 of /var/www/scores/w/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/scores/w/maintenance/archives/patch-ipblocks.sql ) Error: 1146 Table 'mediawiki.ipblocks' doesn't exist (localhost) Backtrace: #0 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1427): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1200): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /var/www/scores/w/includes/libs/rdbms/database/Database.php(4194): Wikimedia\Rdbms\Database->query(string, string) #3 /var/www/scores/w/includes/libs/rdbms/database/Database.php(4129): Wikimedia\Rdbms\Database->sourceStream(unknown type, NULL, NULL, string, NULL) #4 /var/www/scores/w/includes/installer/DatabaseUpdater.php(683): Wikimedia\Rdbms\Database->sourceFile(string) #5 /var/www/scores/w/includes/installer/DatabaseUpdater.php(751): DatabaseUpdater->applyPatch(string, boolean, string) #6 /var/www/scores/w/includes/installer/DatabaseUpdater.php(482): DatabaseUpdater->addField(string, string, string) #7 /var/www/scores/w/includes/installer/DatabaseUpdater.php(446): DatabaseUpdater->runUpdates(array, boolean) #8 /var/www/scores/w/maintenance/update.php(200): DatabaseUpdater->doUpdates(array) #9 /var/www/scores/w/maintenance/doMaintenance.php(94): UpdateMediaWiki->execute() #10 /var/www/scores/w/maintenance/update.php(245): require_once(string) #11 {main}
Trying to load the front page:
MediaWiki internal error. Original exception: [cdc90f2b6d6badca80c5f360] /wiki/Main_Page Wikimedia\Rdbms\DBQueryError from line 1457 of /var/www/scores/w/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 page_id,page_namespace,page_title,page_restrictions,page_is_redirect,page_is_new,page_random,page_touched,page_links_updated,page_latest,page_len,page_content_model FROM `mediawiki`.`page` WHERE page_namespace = '0' AND page_title = 'Main_Page' LIMIT 1 Function: WikiPage::pageData Error: 1146 Table 'mediawiki.page' doesn't exist (localhost) Backtrace: #0 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1427): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1200): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1653): Wikimedia\Rdbms\Database->query(string, string) #3 /var/www/scores/w/includes/libs/rdbms/database/Database.php(1730): Wikimedia\Rdbms\Database->select(array, array, array, string, array, array) #4 /var/www/scores/w/includes/page/WikiPage.php(380): Wikimedia\Rdbms\Database->selectRow(array, array, array, string, array, array) #5 /var/www/scores/w/includes/page/WikiPage.php(400): WikiPage->pageData(Wikimedia\Rdbms\DatabaseMysqli, array, array) #6 /var/www/scores/w/includes/page/WikiPage.php(438): WikiPage->pageDataFromTitle(Wikimedia\Rdbms\DatabaseMysqli, Title, array) #7 /var/www/scores/w/includes/page/WikiPage.php(522): WikiPage->loadPageData() #8 /var/www/scores/w/includes/page/WikiPage.php(563): WikiPage->exists() #9 /var/www/scores/w/includes/page/WikiPage.php(229): WikiPage->getContentModel() #10 /var/www/scores/w/includes/page/WikiPage.php(216): WikiPage->getContentHandler() #11 /var/www/scores/w/includes/actions/Action.php(96): WikiPage->getActionOverrides() #12 /var/www/scores/w/includes/actions/Action.php(154): Action::factory(string, WikiPage, RequestContext) #13 /var/www/scores/w/includes/MediaWiki.php(156): Action::getActionName(RequestContext) #14 /var/www/scores/w/includes/MediaWiki.php(778): MediaWiki->getAction() #15 /var/www/scores/w/includes/MediaWiki.php(524): MediaWiki->main() #16 /var/www/scores/w/index.php(42): MediaWiki->run() #17 {main}
The MySQL user and its grants were not changed and appear to be valid:
MariaDB [scores]> show grants for 'scores'@'localhost'; +----------------------------------------------------------------------------------------------------------------------+ | Grants for scores@localhost | +----------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'scores'@'localhost' IDENTIFIED BY PASSWORD 'deleted' | | GRANT ALL PRIVILEGES ON `scores`.* TO 'scores'@'localhost' | +----------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
The table is there:
MariaDB [scores]> DESC scores.page; +--------------------+---------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------------------+---------------------+------+-----+---------+----------------+ | page_id | int(8) unsigned | NO | PRI | NULL | auto_increment | | page_namespace | int(11) | NO | MUL | NULL | | | page_title | varchar(255) | NO | | NULL | | | page_restrictions | tinyblob | NO | | NULL | | | page_is_redirect | tinyint(1) unsigned | NO | MUL | 0 | | | page_is_new | tinyint(1) unsigned | NO | | 0 | | | page_random | double unsigned | NO | MUL | NULL | | | page_touched | char(14) | NO | | | | | page_latest | int(8) unsigned | NO | | NULL | | | page_len | int(8) unsigned | NO | MUL | NULL | | | page_content_model | varbinary(32) | YES | | NULL | | | page_links_updated | varbinary(14) | YES | | NULL | | | page_lang | varbinary(35) | YES | | NULL | | +--------------------+---------------------+------+-----+---------+----------------+