MediaWiki  master
MysqlInstaller Class Reference

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

Inheritance diagram for MysqlInstaller:
Collaboration diagram for MysqlInstaller:

Public Member Functions

 canCreateAccounts ()
 Return true if the install user can create accounts. More...
 
 getCharsets ()
 Get a list of character sets that are available and supported. More...
 
 getConnectForm ()
 
 getEngines ()
 Get a list of storage engines that are available and supported. More...
 
 getLocalSettings ()
 
 getName ()
 
 getSchemaVars ()
 Get variables to substitute into tables.sql and the SQL patch files. More...
 
 getSettingsForm ()
 
 isCompiled ()
 
 openConnection ()
 
 preInstall ()
 
 preUpgrade ()
 
 setupDatabase ()
 
 setupUser ()
 
 submitConnectForm ()
 
 submitSettingsForm ()
 
- Public Member Functions inherited from DatabaseInstaller
 __construct ( $parent)
 Construct and initialise parent. More...
 
 checkPrerequisites ()
 Checks for installation prerequisites other than those checked by isCompiled() More...
 
 createExtensionTables ()
 Create the tables for each extension the user enabled. More...
 
 createTables ()
 Create database tables from scratch. More...
 
 doUpgrade ()
 Perform database upgrades. More...
 
 enableLB ()
 Set up LBFactory so that wfGetDB() etc. More...
 
 getCheckBox ( $var, $label, $attribs=[], $helpData="")
 Get a labelled checkbox to configure a local boolean variable. More...
 
 getConnectForm ()
 Get HTML for a web form that configures this database. More...
 
 getConnection ()
 Connect to the database using the administrative user/password currently defined in the session. More...
 
 getGlobalDefaults ()
 Get a name=>value map of MW configuration globals for the default values. More...
 
 getGlobalNames ()
 Get an array of MW configuration globals that will be configured by this class. More...
 
 getInstallUserBox ()
 Get a standard install-user fieldset. More...
 
 getInternalDefaults ()
 Get a name=>value map of internal variables used during installation. More...
 
 getLocalSettings ()
 Get the DBMS-specific options for LocalSettings.php generation. More...
 
 getName ()
 Return the internal name, e.g. More...
 
 getPasswordBox ( $var, $label, $attribs=[], $helpData="")
 Get a labelled password box to configure a local variable. More...
 
 getRadioSet ( $params)
 Get a set of labelled radio buttons. More...
 
 getReadableName ()
 Get the internationalised name for this DBMS. More...
 
 getSchemaPath ( $db)
 Return a path to the DBMS-specific schema file, otherwise default to tables.sql. More...
 
 getSchemaVars ()
 Override this to provide DBMS-specific schema variables, to be substituted into tables.sql and other schema files. More...
 
 getSettingsForm ()
 Get HTML for a web form that retrieves settings used for installation. More...
 
 getTextBox ( $var, $label, $attribs=[], $helpData="")
 Get a labelled text box to configure a local variable. More...
 
 getUpdateKeysPath ( $db)
 Return a path to the DBMS-specific update key file, otherwise default to update-keys.sql. More...
 
 getVar ( $var, $default=null)
 Get a variable, taking local defaults into account. More...
 
 getWebUserBox ( $noCreateMsg=false)
 Get a standard web-user fieldset. More...
 
 insertUpdateKeys ()
 Insert update keys into table to prevent running unneded updates. More...
 
 isCompiled ()
 
 needsUpgrade ()
 Determine whether an existing installation of MediaWiki is present in the configured administrative connection. More...
 
 openConnection ()
 Open a connection to the database using the administrative user/password currently defined in the session, without any caching. More...
 
 outputHandler ( $string)
 
 populateInterwikiTable ()
 Common function for databases that don't understand the MySQLish syntax of interwiki.sql. More...
 
 preInstall ()
 Allow DB installers a chance to make last-minute changes before installation occurs. More...
 
 preUpgrade ()
 Allow DB installers a chance to make checks before upgrade. More...
 
 setupDatabase ()
 Create the database and return a Status object indicating success or failure. More...
 
 setupSchemaVars ()
 Set appropriate schema variables in the current database connection. More...
 
 setVar ( $name, $value)
 Convenience alias for $this->parent->setVar() More...
 
 setVarsFromRequest ( $varNames)
 Convenience function to set variables based on form data. More...
 
 submitConnectForm ()
 Set variables based on the request array, assuming it was submitted via the form returned by getConnectForm(). More...
 
 submitInstallUserBox ()
 Submit a standard install user fieldset. More...
 
 submitSettingsForm ()
 Set variables based on the request array, assuming it was submitted via the form return by getSettingsForm(). More...
 
 submitWebUserBox ()
 Submit the form from getWebUserBox(). More...
 

Public Attributes

 $supportedEngines = [ 'InnoDB', 'MyISAM' ]
 
 $webUserPrivs
 
- Public Attributes inherited from DatabaseInstaller
Database $db = null
 The database connection. More...
 
WebInstaller $parent
 The Installer object. More...
 

Static Public Attributes

static $minimumVersion = '5.5.8'
 
- Static Public Attributes inherited from DatabaseInstaller
static string $minimumVersion
 Set by subclasses. More...
 

Protected Member Functions

 escapeLikeInternal ( $s, $escapeChar='`')
 
 getTableOptions ()
 Return any table options to be applied to all tables that don't override them. More...
 
 likeToRegex ( $wildcard)
 Convert a wildcard (as used in LIKE) to a regex Slashes are escaped, slash terminators included. More...
 

Protected Attributes

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

Static Protected Attributes

static $notMinimumVersionMessage = 'config-mysql-old'
 
- Static Protected Attributes inherited from DatabaseInstaller
static string $notMinimumVersionMessage
 Set by subclasses. More...
 

Private Member Functions

 buildFullUserName ( $name, $host)
 Return a formal 'User'@'Host' username for use in queries. More...
 
 databaseExists ( $dbName)
 Try to see if a given database exists. More...
 
 userDefinitelyExists ( $host, $user)
 Try to see if the user account exists. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DatabaseInstaller
static meetsMinimumRequirement ( $serverVersion)
 Whether the provided version meets the necessary requirements for this type. More...
 
- Static Protected Member Functions inherited from DatabaseInstaller
static checkExtension ( $name)
 Convenience function. More...
 

Detailed Description

Class for setting up the MediaWiki database using MySQL.

Since
1.17

Definition at line 34 of file MysqlInstaller.php.

Member Function Documentation

◆ buildFullUserName()

MysqlInstaller::buildFullUserName (   $name,
  $host 
)
private

Return a formal 'User'@'Host' username for use in queries.

Parameters
string$nameUsername, quotes will be added
string$hostHostname, quotes will be added
Returns
string

Definition at line 614 of file MysqlInstaller.php.

References $name.

Referenced by setupUser().

◆ canCreateAccounts()

MysqlInstaller::canCreateAccounts ( )

Return true if the install user can create accounts.

Returns
bool

Definition at line 265 of file MysqlInstaller.php.

References $res, as, DatabaseInstaller\getConnection(), DatabaseInstaller\getVar(), and likeToRegex().

Referenced by getSettingsForm(), and submitSettingsForm().

◆ databaseExists()

MysqlInstaller::databaseExists (   $dbName)
private

Try to see if a given database exists.

Parameters
string$dbNameDatabase name to check
Returns
bool

Definition at line 501 of file MysqlInstaller.php.

Referenced by setupDatabase().

◆ escapeLikeInternal()

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

Definition at line 220 of file MysqlInstaller.php.

References $s.

Referenced by preUpgrade().

◆ getCharsets()

MysqlInstaller::getCharsets ( )

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

Returns
array

Definition at line 256 of file MysqlInstaller.php.

Referenced by getSettingsForm(), and submitSettingsForm().

◆ getConnectForm()

MysqlInstaller::getConnectForm ( )

◆ getEngines()

MysqlInstaller::getEngines ( )

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

Returns
array

Definition at line 231 of file MysqlInstaller.php.

References $res, as, and DatabaseInstaller\getConnection().

Referenced by getSettingsForm(), and submitSettingsForm().

◆ getLocalSettings()

MysqlInstaller::getLocalSettings ( )

◆ getName()

MysqlInstaller::getName ( )
Returns
string

Definition at line 67 of file MysqlInstaller.php.

◆ getSchemaVars()

MysqlInstaller::getSchemaVars ( )

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

Returns
array

Definition at line 659 of file MysqlInstaller.php.

References getTableOptions(), and DatabaseInstaller\getVar().

◆ getSettingsForm()

◆ getTableOptions()

MysqlInstaller::getTableOptions ( )
protected

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

Returns
string

Definition at line 642 of file MysqlInstaller.php.

References $options, DatabaseInstaller\getVar(), and null.

Referenced by getLocalSettings(), and getSchemaVars().

◆ isCompiled()

MysqlInstaller::isCompiled ( )
Returns
bool

Definition at line 74 of file MysqlInstaller.php.

◆ likeToRegex()

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 340 of file MysqlInstaller.php.

Referenced by canCreateAccounts().

◆ openConnection()

MysqlInstaller::openConnection ( )

◆ preInstall()

MysqlInstaller::preInstall ( )

Definition at line 464 of file MysqlInstaller.php.

◆ preUpgrade()

◆ setupDatabase()

MysqlInstaller::setupDatabase ( )

◆ setupUser()

◆ submitConnectForm()

◆ submitSettingsForm()

◆ userDefinitelyExists()

MysqlInstaller::userDefinitelyExists (   $host,
  $user 
)
private

Try to see if the user account exists.

Our "superuser" may not have access to mysql.user, so false means "no" or "maybe"

Parameters
string$hostHostname to check
string$userUsername to check
Returns
bool

Definition at line 625 of file MysqlInstaller.php.

References $res, and $user.

Referenced by setupUser().

Member Data Documentation

◆ $globalNames

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

Definition at line 36 of file MysqlInstaller.php.

◆ $internalDefaults

MysqlInstaller::$internalDefaults
protected
Initial value:
= [
'_MysqlEngine' => 'InnoDB'

Definition at line 45 of file MysqlInstaller.php.

◆ $minimumVersion

MysqlInstaller::$minimumVersion = '5.5.8'
static

Definition at line 53 of file MysqlInstaller.php.

◆ $notMinimumVersionMessage

MysqlInstaller::$notMinimumVersionMessage = 'config-mysql-old'
staticprotected

Definition at line 54 of file MysqlInstaller.php.

◆ $supportedEngines

MysqlInstaller::$supportedEngines = [ 'InnoDB', 'MyISAM' ]

Definition at line 51 of file MysqlInstaller.php.

◆ $webUserPrivs

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

Definition at line 56 of file MysqlInstaller.php.


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