Manuel:$wgDBservers
Paramètre du partage de charge: $wgDBservers | |
---|---|
Paramètres du partage de charge de base de données (serveurs de base de données et ratios de charge). |
|
Introduit dans la version : | 1.2.0 |
Retiré dans la version : | Encore utilisé |
Valeurs autorisées : | voir ci-dessous |
Valeur par défaut : | false |
Autres paramètres : Alphabétique | Par fonction |
Détails
Équilibreur de charge de base de données. C'est un tableau à deux dimensions, un tableau de structures d'information de serveur. Les champs en sont:
- host
- Nom de l'hôte (voir $wgDBserver ) Pour MySQL, il peut contenir un port ou un chemin de socket après les deux points.
- dbname
- Nom par défaut de la base de données (voir $wgDBname )
- user
- Utilisateur de la base de données (voir $wgDBuser )
- password
- Mot de passe de la base de données (voir $wgDBpassword )
- type
- "mysql" ou "postgres" (voir $wgDBtype )
- load
- ratio de charge DB_REPLICA, doit être >=0, la somme de toutes les charges doit être >0
- groupLoads
- tableau des ratios de charge, la clé est le nom de groupe de requête. Une requête peut appartenir à plusieurs groupes; le groupe le plus spécifique défini ici est utilisé. (introduit dans 1.4.3)
- max lag
- (optionnel) délai maximum de réplication avant qu'un réplicat soit sorti de la rotation
- max threads
- (optionnel) nombre maximum de processus en cours (supprimé en 1.23)
- flags
- Champ de bits:
- DBO_DEFAULT — active DBO_TRX seulement si $wgCommandLineMode != true (recommandé)
- DBO_DEBUG — équivalent à $wgDebugDumpSql
- DBO_TRX — démarre automatiquement les transactions (voir Database transactions )
- DBO_IGNORE — ignore les erreurs (inutile dans LocalSettings.php)
- DBO_NOBUFFER — désactive la mise en tampon (inutile dans LocalSettings.php)
- DBO_SSL — utilise une connexion sécurisée (obsolète depuis v. 1.39)
- DBO_COMPRESS — compresser la communication
- DBO_PERSISTENT — activer les connexions persistentes
- ssl (introduit dans 1.39)
- booléen, indique s'il faut utiliser le chiffrement TLS. Redéfinit DBO_SSL.
Laisser à false
pour utiliser les variables mono-serveur listées ci-dessus.
Le maître doit être la première entrée du tableau.
Exemple 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,
],
];
Cela configurera un maître et deux réplicats, chacun des réplicats ayant la même quantité de charge d'accès en lecture.
Exemple 2 :
$wgDBservers = [
[
'host' => 'serv.er',
'dbname' => 'wikidb',
'user' => 'wikiuser',
'password' => 'secret',
'type' => 'mysql',
'flags' => DBO_DEFAULT | DBO_SSL,
'load' => 0
]
];
Cela va configurer un serveur avec la connexion SSL personnalisée si $wgDBssl échoue avec la valeur true
.
Celles-ci et toute autre propriété définie par l'utilisateur doivent être assignées à la variable membre mLBInfo de l'objet Database.
Options spécifiques à MySQL
- lagDetectionMethod
- Initialiser à l'une des valeurs (Seconds_Behind_Master, pt-heartbeat).
pt-heartbeat
suppose que la table est à heartbeat.heartbeat et utilise l'horodatage UTC dans la colonne heartbeat.ts (https://www.percona.com/doc/percona-toolkit/2.2/pt-heartbeat.html) - lagDetectionOptions
- Si vous utilisez
pt-heartbeat
, vous pouvez initialiser ceci avec un tableau de correspondance pour modifier le comportement par défaut. Normalement, on utilise la ligne heartbeat avec l'ID du maître du serveur actuel. Initialisez le champ "conds" pour réécraser les conditions de la requête, par exemple ['shard' => 's1']. - useGTIDs
- Utilisez les méthodes GTID comme MASTER_GTID_WAIT() là où c'est possible.
- sslKeyPath
- Chemin vers le fichier clé.
- sslCertPath
- Chemin vers le fichier de certificat.
- sslCAFile
- Chemin vers un fichier PEM d'autorité de certification unique. (introduit dans 1.30+)
- sslCAPath
- Chemin vers un répertoire PEM d'autorité de certification.
- sslCiphers
- Liste de tableaux de chiffres autorisés.
Options spécifiques à PostgreSQL
- port
- Port pour se connecter au serveur.
- keywordTableMap
- Correspondance entre les noms de tables réservés et d'autres noms de table à utiliser
Options spécifiques à SQLite
- dbFilePath
- Chemin vers le fichier de la base de données.
- dbDirectory
- Chemin vers le répertoire contenant le fichier de la base de données. Nécessaire uniquement si dbFilePath n'est pas spécifié et nécessite dbname.
- dbname
- Nom de la base de données (sans l'extension .sqlite). Nécessaire uniquement si dbFilePath n'est pas spécifié et nécessite dbDirectory.
- trxMode
- Mode de transaction. Une valeur parmi : DEFERRED, IMMEDIATE ou EXCLUSIVE.
Options spécifiques à MSSQL
- port
- Port pour se connecter au serveur.
- UseWindowsAuth
- Utilisez l'Authentification Windows intégrée pour l'authentification auprès de la base de données au lieu du nom d'utilisateur/mot de passe.
Notes importantes
Si vous optez pour cela, assurez-vous de garder $wgDBname , $wgDBprefix et $wgDBTableOptions défini, ou assurez-vous que $wgCookiePrefix et $wgCachePrefix sont définis explicitement.
Notez aussi que si vous souhaitez vous connecter à un seul serveur de base de données, le paramètre load
doit être initialisé à 0
.
Voir aussi
- $wgDBserver - pour les configurations à serveur unique