Manual:$wgDBservers

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:$wgDBservers and the translation is 98% complete.
Other languages:
English • ‎Nederlands • ‎français • ‎magyar • ‎polski • ‎中文 • ‎日本語
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 wachtwoords (zie $wgDBpassword )
type
"mysql" of "pgsql" (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. (ingeleid in 1.4.3)
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
  • DBO_COMPRESS -- Communicatie comprimeren
  • DBO_PERSISTENT -- inschakelen persistente verbindingen

Laat staan op false om de bovenstaande single-server variabelen gebruiken.

De master moet het eerste item in de array zijn.

Voorbeeld:

$wgDBservers = [
    [
        'host' => "master.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.

max lag
(optioneel) Maximale replicatievertraging voordat een replica uit de rotatie wordt genomen.
max threads
($verwijderd optioneel) Maximaal aantal lopende threads

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. 1.30+
sslCAPath
Pad naar certificaatautoriteit PEM directory.
sslCiphers
Array-lijst van toegestane cijfers.

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.

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.

Foutmeldingen

Als u hierop overstapt, zorg er dan voor dat u ofwel de $wgDBname set behoudt, ofwel dat $wgCookiePrefix en $wgCachePrefix expliciet zijn ingesteld.

Zie ook