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 jeff.darlington@gmail.com 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 jeff.darlington@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@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@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@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@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
MediaWiki-l mailing list To unsubscribe, go to: https://lists.wikimedia.org/mailman/listinfo/mediawiki-l