MediaWiki master
MediaWiki\Installer\MysqlInstaller Class Reference

Class for setting up the MediaWiki database using MySQL. More...

Inherits MediaWiki\Installer\DatabaseInstaller.

Collaboration diagram for MediaWiki\Installer\MysqlInstaller:

Public Member Functions

 canCreateAccounts ()
 Return true if the install user can create accounts.
 
 getCharsets ()
 Get a list of character sets that are available and supported.
 
 getConnectForm (WebInstaller $webInstaller)
 
 getEngines ()
 Get a list of storage engines that are available and supported.
 
 getLocalSettings ()
 Get the DBMS-specific options for LocalSettings.php generation.
 
 getName ()
 
 getSchemaVars ()
 Get variables to substitute into tables.sql and the SQL patch files.
 
 getSettingsForm (WebInstaller $webInstaller)
 
 isCompiled ()
 
 preInstall ()
 Allow DB installers a chance to make last-minute changes before installation occurs.
 
 preUpgrade ()
 Allow DB installers a chance to make checks before upgrade.
 
 setupDatabase ()
 
 setupUser ()
 
- Public Member Functions inherited from MediaWiki\Installer\DatabaseInstaller
 __construct ( $parent)
 Construct and initialise parent.
 
 checkPrerequisites ()
 Checks for installation prerequisites other than those checked by isCompiled()
 
 createExtensionTables ()
 Create the tables for each extension the user enabled.
 
 createTables ()
 Create database tables from scratch from the automatically generated file.
 
 definitelyGetConnection (string $type)
 Get a connection and unwrap it from its Status object, throwing an exception on failure.
 
 enableLB ()
 
 getConnection ( $type=self::CONN_DONT_KNOW)
 Connect to the database using the administrative user/password currently defined in the session.
 
 getGlobalDefaults ()
 Get a name=>value map of MW configuration globals for the default values.
 
 getGlobalNames ()
 Get an array of MW configuration globals that will be configured by this class.
 
 getInternalDefaults ()
 Get a name=>value map of internal variables used during installation.
 
 getReadableName ()
 Get the internationalised name for this DBMS.
 
 getVar ( $var, $default=null)
 Get a variable, taking local defaults into account.
 
 insertUpdateKeys ()
 Insert update keys into table to prevent running unneeded updates.
 
 needsUpgrade ()
 Determine whether an existing installation of MediaWiki is present in the configured administrative connection.
 
 populateInterwikiTable ()
 Common function for databases that don't understand the MySQLish syntax of interwiki.list.
 
 setVar ( $name, $value)
 Convenience alias for $this->parent->setVar()
 

Static Public Member Functions

static meetsMinimumRequirement (IDatabase $conn)
 Whether the provided version meets the necessary requirements for this type.
 

Public Attributes

string[] $supportedEngines = [ 'InnoDB' ]
 
string[] $webUserPrivs
 
- Public Attributes inherited from MediaWiki\Installer\DatabaseInstaller
Database $db = null
 
Installer $parent
 The Installer object.
 
const CONN_CREATE_DATABASE = 'create-database'
 A connection for creating DBs, suitable for pre-installation.
 
const CONN_CREATE_SCHEMA = 'create-schema'
 A connection to the new DB, for creating schemas and other similar objects in the new DB.
 
const CONN_CREATE_TABLES = 'create-tables'
 A connection with a role suitable for creating tables.
 
const CONN_DONT_KNOW = 'dont-know'
 Legacy default connection type.
 

Static Public Attributes

static $minimumVersion
 
- Static Public Attributes inherited from MediaWiki\Installer\DatabaseInstaller
static string $minimumVersion
 Set by subclasses.
 

Protected Member Functions

 escapeLikeInternal ( $s, $escapeChar='`')
 
 getTableOptions ()
 Return any table options to be applied to all tables that don't override them.
 
 likeToRegex ( $wildcard)
 Convert a wildcard (as used in LIKE) to a regex Slashes are escaped, slash terminators included.
 
 openConnection (string $type)
 
- Protected Member Functions inherited from MediaWiki\Installer\DatabaseInstaller
 changeConnType (Database $conn, &$storedType, $newType)
 Change the type of a connection.
 
 changeConnTypeFromSchemaToTables (Database $conn)
 Change the type of a connection from CONN_CREATE_SCHEMA to CONN_CREATE_TABLES.
 
 selectDatabase (Database $conn, string $database)
 

Protected Attributes

 $globalNames
 
 $internalDefaults
 
- Protected Attributes inherited from MediaWiki\Installer\DatabaseInstaller
array $globalNames = []
 Array of MW configuration globals this class uses.
 
array $internalDefaults = []
 Internal variables for installation.
 

Static Protected Attributes

static $notMinimumVersionMessage
 
- Static Protected Attributes inherited from MediaWiki\Installer\DatabaseInstaller
static string $notMinimumVersionMessage
 Set by subclasses.
 

Additional Inherited Members

- Static Protected Member Functions inherited from MediaWiki\Installer\DatabaseInstaller
static checkExtension ( $name)
 Convenience function.
 

Detailed Description

Class for setting up the MediaWiki database using MySQL.

Since
1.17

Definition at line 41 of file MysqlInstaller.php.

Member Function Documentation

◆ canCreateAccounts()

MediaWiki\Installer\MysqlInstaller::canCreateAccounts ( )

Return true if the install user can create accounts.

Returns
bool

Definition at line 234 of file MysqlInstaller.php.

◆ escapeLikeInternal()

MediaWiki\Installer\MysqlInstaller::escapeLikeInternal ( $s,
$escapeChar = '`' )
protected
Parameters
string$s
string$escapeChar
Returns
string

Definition at line 193 of file MysqlInstaller.php.

◆ getCharsets()

MediaWiki\Installer\MysqlInstaller::getCharsets ( )

Get a list of character sets that are available and supported.

Returns
array

Definition at line 225 of file MysqlInstaller.php.

◆ getConnectForm()

MediaWiki\Installer\MysqlInstaller::getConnectForm ( WebInstaller $webInstaller)

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 96 of file MysqlInstaller.php.

◆ getEngines()

MediaWiki\Installer\MysqlInstaller::getEngines ( )

Get a list of storage engines that are available and supported.

Returns
array

Definition at line 204 of file MysqlInstaller.php.

◆ getLocalSettings()

MediaWiki\Installer\MysqlInstaller::getLocalSettings ( )

Get the DBMS-specific options for LocalSettings.php generation.

Returns
string

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 523 of file MysqlInstaller.php.

◆ getName()

MediaWiki\Installer\MysqlInstaller::getName ( )
Returns
string

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 85 of file MysqlInstaller.php.

◆ getSchemaVars()

MediaWiki\Installer\MysqlInstaller::getSchemaVars ( )

Get variables to substitute into tables.sql and the SQL patch files.

Returns
array

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 514 of file MysqlInstaller.php.

◆ getSettingsForm()

MediaWiki\Installer\MysqlInstaller::getSettingsForm ( WebInstaller $webInstaller)

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 100 of file MysqlInstaller.php.

◆ getTableOptions()

MediaWiki\Installer\MysqlInstaller::getTableOptions ( )
protected

Return any table options to be applied to all tables that don't override them.

Returns
string

Definition at line 497 of file MysqlInstaller.php.

◆ isCompiled()

MediaWiki\Installer\MysqlInstaller::isCompiled ( )
Returns
bool

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 92 of file MysqlInstaller.php.

References MediaWiki\Installer\DatabaseInstaller\checkExtension().

◆ likeToRegex()

MediaWiki\Installer\MysqlInstaller::likeToRegex ( $wildcard)
protected

Convert a wildcard (as used in LIKE) to a regex Slashes are escaped, slash terminators included.

Parameters
string$wildcard
Returns
string

Definition at line 308 of file MysqlInstaller.php.

◆ meetsMinimumRequirement()

static MediaWiki\Installer\MysqlInstaller::meetsMinimumRequirement ( IDatabase $conn)
static

Whether the provided version meets the necessary requirements for this type.

Parameters
IDatabase$conn
Returns
Status
Since
1.30

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 104 of file MysqlInstaller.php.

References Wikimedia\Rdbms\IReadableDatabase\getSoftwareLink().

Referenced by MediaWiki\Installer\MysqlConnectForm\submit().

◆ openConnection()

MediaWiki\Installer\MysqlInstaller::openConnection ( string $type)
protected
Parameters
string$type
Returns
ConnectionStatus

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 116 of file MysqlInstaller.php.

◆ preInstall()

MediaWiki\Installer\MysqlInstaller::preInstall ( )

Allow DB installers a chance to make last-minute changes before installation occurs.

This happens before setupDatabase() or createTables() is called, but long after the constructor. Helpful for things like modifying setup steps :)

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 317 of file MysqlInstaller.php.

◆ preUpgrade()

MediaWiki\Installer\MysqlInstaller::preUpgrade ( )

Allow DB installers a chance to make checks before upgrade.

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 138 of file MysqlInstaller.php.

References $wgDBpassword, and $wgDBuser.

◆ setupDatabase()

MediaWiki\Installer\MysqlInstaller::setupDatabase ( )
Returns
Status

Reimplemented from MediaWiki\Installer\DatabaseInstaller.

Definition at line 329 of file MysqlInstaller.php.

◆ setupUser()

MediaWiki\Installer\MysqlInstaller::setupUser ( )
Returns
Status

Definition at line 364 of file MysqlInstaller.php.

Member Data Documentation

◆ $globalNames

MediaWiki\Installer\MysqlInstaller::$globalNames
protected
Initial value:
= [
'wgDBserver',
'wgDBname',
'wgDBuser',
'wgDBpassword',
'wgDBssl',
'wgDBprefix',
'wgDBTableOptions',
]

Definition at line 44 of file MysqlInstaller.php.

◆ $internalDefaults

MediaWiki\Installer\MysqlInstaller::$internalDefaults
protected
Initial value:
= [
'_MysqlEngine' => 'InnoDB',
'_MysqlCharset' => 'binary',
'_InstallUser' => 'root',
]

Definition at line 55 of file MysqlInstaller.php.

◆ $minimumVersion

MediaWiki\Installer\MysqlInstaller::$minimumVersion
static

Definition at line 69 of file MysqlInstaller.php.

◆ $notMinimumVersionMessage

MediaWiki\Installer\MysqlInstaller::$notMinimumVersionMessage
staticprotected

Definition at line 71 of file MysqlInstaller.php.

◆ $supportedEngines

string [] MediaWiki\Installer\MysqlInstaller::$supportedEngines = [ 'InnoDB' ]

Definition at line 62 of file MysqlInstaller.php.

◆ $webUserPrivs

string [] MediaWiki\Installer\MysqlInstaller::$webUserPrivs
Initial value:
= [
'DELETE',
'INSERT',
'SELECT',
'UPDATE',
'CREATE TEMPORARY TABLES',
]

Definition at line 74 of file MysqlInstaller.php.


The documentation for this class was generated from the following file: