Manual:$wgDBservers/fr

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 ). 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 )
 * user: Utilisateur de la base de données (voir )
 * password: Mot de passe de la base de données (voir )
 * type: "mysql" ou "pgsql" (voir )
 * 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é.
 * flags: Champ de bits:
 * DBO_DEFAULT -- active DBO_TRX seulement si != true (recommandé)
 * DBO_DEBUG -- équivalent à
 * DBO_TRX -- démarre automatiquement les transactions (voir )
 * 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
 * DBO_COMPRESS -- compresser la communication
 * DBO_PERSISTENT -- activer les connexions persistentes

Le 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:

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.


 * max lag: (optionnel) délai maximum de réplication avant qu'un réplicat soit sorti de la rotation
 * max threads: (optionnel) Nombre maximal de processus en cours

Celles-ci et toute autre propriété définie par l'utilisateur doivent être assignées à la variable de membre mLBInfo member de l'objet Database.

Options spécifiques à MySQL

 * lagDetectionMethod : Initialiser à l'une des valeurs (Seconds_Behind_Master, 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, 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.
 * sslCAPath : Chemin vers un répertoire PEM d'autorité de certification.
 * sslCiphers : Liste de tableaux de chiffres autorisés.

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.

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.

Premières versions
Les versions de MediaWiki antérieures à 1.4.0 utilisaient un tableau à une dimension, listant les noms de serveur, par ex. array("larousse", "pliny"), lequel était utilisé en lien avec $wgDBloads. Depuis la version 1.4.0, $wgDBloads est obsolète et la méthode ci-dessus doit être utilisée.

Le champ groupLoads a été ajouté en 1.4.3.

max lag et max threads (et l'utilisation d'autres propriétés définies par l'utilisateur) ont été ajoutées en 1.6.0

Avertissements
Si vous optez pour cela, assurez-vous de garder $wgDBname défini, ou assurez-vous que et  sont définis explicitement.

Voir aussi

 * - pour les configurations à serveur unique
 * - pour les configurations à serveur unique