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 <jeff.darlington(a)gmail.com>
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 <bawolff(a)gmail.com> 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
>> <jeff.darlington(a)gmail.com> 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 <skizzerz(a)gmail.com>
>> 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 <
>> jeff.darlington(a)gmail.com>
>> >> 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
>>
>