Manual:$wgDBservers
LoadBalancer-instellingen: $wgDBservers | |
---|---|
Instellingen voor de database loadbalancer (databaseservers en loadratio's). |
|
Geïntroduceerd in versie: | 1.2.0 |
Verwijderd in versie: | nog steeds in gebruik |
Toegelaten waardes: | Zie onder. |
Standaardwaarde: | false |
Andere instellingen: Alfabetisch | Per functie |
Details
Database loadbalancer. Dit is een tweedimensionale reeks, een array van serverinfo-structuren. Velden zijn:
- host
- Hostnaam (zie $wgDBserver ). Voor SQL kan het een poort of socket bevatten na een dubbele punt.
- dbname
- Standaard database naam (zie $wgDBname )
- user
- DB gebruiker (zie $wgDBuser )
- password
- DB wachtwoord (zie $wgDBpassword )
- type
- "mysql" of "postgres" (zie $wgDBtype )
- load
- verhouding van DB_REPLICA belasting, moet >=0 zijn, de som van alle belastingen moet >0 zijn
- groupLoads
- array van loadratio's, de key is de naam van de query groep. Een query kan tot meerdere groepen behoren, de meest specifieke groep die hier is gedefinieerd wordt gebruikt. (nieuw in 1.4.3)
- max lag
- (optioneel) Maximale replicatie nalopen voor een replica wordt genegeeerd
- max threads
- (optioneel) Maximum aantal van lopende threads (verwijderd in 1.23)
- flags
- bit veld:
- DBO_DEFAULT — schakelt DBO_TRX alleen in als $wgCommandLineMode != true (aanbevolen)
- DBO_DEBUG — equivalent van $wgDebugDumpSql
- DBO_TRX — start transacties automatisch (zie Database transactions )
- DBO_IGNORE — fouten negeren (niet bruikbaar in LocalSettings.php)
- DBO_NOBUFFER — schakel de buffering uit (niet bruikbaar in LocalSettings.php)
- DBO_SSL — Gebruik een veilige verbinding (verouderd sinds 1.39)
- DBO_COMPRESS — Communicatie comprimeren
- DBO_PERSISTENT — inschakelen persistente verbindingen
- ssl (nieuw in 1.39)
- Boolean, of er TLS-encryptie moet worden gebruikt. Overschrijft DBO_SSL.
Laat staan op false om de bovenstaande single-server variabelen gebruiken.
De master moet het eerste item in de array zijn.
Voorbeeld 1:
$wgDBservers = [
[
'host' => "primary.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 0,
],
[
'host' => "replica1.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 1,
],
[
'host' => "replica2.serv.er",
'dbname' => "wikidb",
'user' => "wikiuser",
'password' => "secret",
'type' => "mysql",
'flags' => DBO_DEFAULT,
'load' => 1,
],
];
Dit zou een master en twee replica's configureren, waarbij elke replica een gelijke hoeveelheid leestoegangsbelasting krijgt.
Voorbeeld 2:
$wgDBservers = [
[
'host' => 'serv.er',
'dbname' => 'wikidb',
'user' => 'wikiuser',
'password' => 'secret',
'type' => 'mysql',
'flags' => DBO_DEFAULT | DBO_SSL,
'load' => 0
]
];
Dit zou een server instellen met aangepaste SSL-connectie als het instellen van $wgDBssl op true
, mislukt.
Deze en alle andere door de gebruiker gedefinieerde eigenschappen zullen worden toegewezen aan de mLBInfo member variabele van het Database object.
MySQL specifieke opties
- lagDetectionMethod
- Stel in op een van (Seconds_Behind_Master,pt-heartbeat). pt-heartbeat gaat ervan uit dat de tabel op heartbeat.heartbeat staat en gebruikt UTC-tijdstempels in de kolom heartbeat.ts. (https://www.percona.com/doc/percona-toolkit/2.2/pt-heartbeat.html)
- lagDetectionOptions
- Bij gebruik van pt-heartbeat kan dit worden ingesteld op een array map om het standaard gedrag te wijzigen. Normaal gesproken zal de heartbeat row met de server ID van de master van deze server worden gebruikt. Stel het veld "conds" in om de query-condities te overschrijven, bijvoorbeeld ['shard' => 's1'].
- useGTIDs
- Gebruik GTID-methoden zoals MASTER_GTID_WAIT() indien mogelijk.
- sslKeyPath
- Pad naar sleutelbestand.
- sslCertPath
- Pad naar certificaatbestand.
- sslCAFile
- Pad naar een enkel certificaatautoriteit PEM-bestand. (nieuw in 1.30+)
- sslCAPath
- Pad naar certificaatautoriteit PEM directory.
- sslCiphers
- Array-lijst van toegestane cijfers.
PostgreSQL specifieke opties
- port
- Poort om verbinding te maken met de server.
- keywordTableMap
- "Map" van gereserveerde tabelnamen naar alternatieve tabelnamen om te gebruiken
SQLite specifieke opties
- dbFilePath
- Pad naar het databasebestand.
- dbDirectory
- Pad naar de directory met het database-bestand. Alleen nodig als dbFilePath niet is gespecificeerd, en dbname vereist.
- dbname
- Naam van de database (zonder de .sqlite extensie). Alleen nodig als dbFilePath niet is gespecificeerd en dbDirectory vereist is.
- trxMode
- Transactiemodus Een van DEFERRED, IMMEDIATE of EXCLUSIVE.
MSSQL specifieke opties
- port
- Poort om verbinding te maken met de server.
- UseWindowsAuth
- Gebruik Integrated Windows Authentication voor de authenticatie van de database in plaats van gebruikersnaam/wachtwoord.
Belangrijke notities
Als u hierop overstapt, zorg er dan voor dat u $wgDBname , $wgDBprefix en $wgDBTableOptions instelt, ofwel dat $wgCookiePrefix en $wgCachePrefix expliciet zijn ingesteld.
NB: Als u met één database-server verbindt den moet de parameter load
op 0
gezet worden.
Zie ook
- $wgDBserver - voor instellen één server