Manual:$wgDBservers

This page is a translated version of the page Manual:$wgDBservers and the translation is 100% complete.
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

Details

Sinds MediaWiki 1.18 (Release notes) heeft de database gebruiker voor alle databases die in deze array zijn geconfigureerd (als je replicatie gebruikt) het REPLICATION CLIENT privilege nodig om de vertraging tussen master <-> replica te bepalen.

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

NB: MSSQL wordt vanaf MediaWiki 1.34 niet meer ondersteund.
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