diff --git a/config/index.php b/config/index.php
index 9ce8c170d9d..25c511d953d 100644
--- a/config/index.php
+++ b/config/index.php
@@ -461,11 +461,24 @@ if( $conf->posted && ( 0 == count( $errs ) ) ) {
$wgDatabase->selectDB( $wgDBname );
if( $wgDatabase->tableExists( "cur" ) ) {
- print "
There are already MediaWiki tables in this database. Checking if updates are needed...\n";
-
+ print "
There are already MediaWiki tables in this database. Checking if updates are needed...\n";
+
+ # Create user if required
+ if ( $conf->Root ) {
+ $conn = Database::newFromParams( $wgDBserver, $wgDBuser, $wgDBpassword, $wgDBname, 1 );
+ if ( $conn->isOpen() ) {
+ print "DB user account ok\n";
+ $conn->close();
+ } else {
+ print "Granting user permissions...\n";
+ dbsource( "../maintenance/users.sql", $wgDatabase );
+ }
+ }
+ print "\n";
chdir( ".." );
flush();
+
# Add missing tables
foreach ( $wgNewTables as $tableRecord ) {
add_table( $tableRecord[0], $tableRecord[1] );