Pb Taille BD

De WikiOpenTruc
Aller à : navigation, rechercher

Souci sur uplib, complètement coincé, alors je bosse ici.

A database error has occurred. Did you forget to run maintenance/update.php after upgrading? See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script Query: REPLACE INTO `mwi_objectcache` (keyname,value,exptime) VALUES ('340976-6-mwi_:messages:fr:lock','˴2��\0','20140726151038') Function: SqlBagOStuff::set Error: 1142 INSERT command denied to user '340976-6'@'10.0.115.20' for table 'mwi_objectcache' (sql43.modules)


Simultanément, j'ai reçu un mail d'OVH :

Actuellement sur votre hébergement khi.fr, vous avez une base de données xxxxxx installée sur le serveur xxxxx

Nous vous informons que l'état opérationel de base de donnée a changé d'état et est en "SELECT ONLY". Ceci veut dire que vous pouvez continuer à faire les opérations SELECT et DELETE mais vous ne pouvez plus effectuer d'opérations INSERT ou UPDATE.

Le changement d'état est dû à la taille de votre base de données qui n'est pas conforme avec l'offre à laquelle vous avez souscrite. En effet, si votre base de donnée dépasse la taille recommandée, le serveur xxxxx ne pourra pas fonctionner de manière optimale pour l'ensemble des bases qu'il héberge.

Nous vous invitons à effectuer une purge de votre base de données afin de repasser en dessous de la taille recommandée ou de souscrire à une option via votre manager.

Nous vous remercions de votre rapide intervention. Cordialement,


La BD fait 225Mo au lieu de 200Mo autorisés. OVH a bloqué l'écriture.


Le phpMyAdmin d'ovh est plus récent que le mien propre. Et un peu plus commode.


En 1° je fais une sauvegarde de la BD. (NB : je me demande un peu comment phpMyAdmin détermine quoi sauver dans l'ensemble des tables, vu que la sauvegarde SQL fait 6Mo ... et que la base fait 200Mo) à noter que en fait, il y a 2 options de sauvegarde : rapide (que j'utilise) et personnalisée, où on choisit les tables etc.



Purge manuelle de la BD

J'essaie de trouver quoi effacer dans la BD sans tout casser. Sachant que faut quand même virer qqs Mos.

Les plus grosses tables

Table 	Action 	Lignes 	Type 	Interclassement 	Taille Décroissant 	Perte
mwi_objectcache	~17 405	InnoDB	utf8_general_ci	105,4 Mio	-
mwi_text	~4 645	InnoDB	utf8_general_ci	100,5 Mio	-
mwi_l10n_cache  ~11 617	InnoDB	utf8_general_ci	4,2 Mio	-
mwi_searchindex 495	MyISAM	latin1_swedish_ci	3,5 Mio	-
mwi_logging	~6 291	InnoDB	utf8_general_ci	3,3 Mio	-
mwi_externallinks~4 025	InnoDB	utf8_general_ci	2,5 Mio	-
mwi_revision	~6 175	InnoDB	utf8_general_ci	2,5 Mio	-
mwi_recentchanges~1 938	InnoDB	utf8_general_ci	976 Kio	-

Parmi ces tables, seules les tables xxx_cache sont indiquées comme effaçables. Et les tables suivantes font moins de 300ko. ... C'est donc pas comme si j'avais un grand choix sur quoi effacer ...

à noter que phpMyAdmin propose de "vider" les tables. C'est sans doute moins radical que de "supprimer".

l10n_cache table

The l10n_cache table. Its content can be deleted and excluded from backups as it will be regenerated when needed. LocalisationCache.php's LCStore_DB class's public function get() looks up the lc_value by the lc_lang and lc_key.


Je tente le coup sur l10n_cache table :

Vous êtes sur le point de VIDER une table au complet ! Voulez-vous vraiment exécuter «TRUNCATE mwi_l10n_cache» ?

ça marche, et la BD repasse à 218Mo (bizarre, j'aurais pensé 221Mo plutôt)

Par contre, uplib est toujours inaccessible, et le message d'erreur = panique complète.

En fait, j'ai beau avoir réduit la BD, si l'accès en écriture y est bloqué, ça continue logiquement à coincer.

Objectcache table

Objectcache table is used for a few generic cache operations if not using Memcached. Its content can be deleted and excluded from backups as it will be regenerated when needed.

Vous êtes sur le point de VIDER une table au complet ! Voulez-vous vraiment exécuter «TRUNCATE mwi_objectcache» ?

ça marche, et la BD repasse à 113.1 Mo

uplib est toujours inaccessible (mais a priori c'est hélas normal tant qu'ovh n'aura pas déverrouillé la BD), mais au moins la BD est déjà repassé sous les 200Mo autorisés, et donc a priori est éligible au déverrouillage.



Upgrade de l'hébergement

Etant donné le rythme de croissance d'uplib et de la fréquentation, j'opte aussi pour passer à l'offre d'hébergement supérieure : pro.

Normalement rien ne change, mais La modification peut prendre quelques heures pour que tout soit opérationnel sur le nouvel hébergement.

J'ai eu notification du changement à 11h15. Mais, c'est samedi et à 19h uplib est toujours inaccessible.

Si la manip de déverrouillage de la BD demande une intervention humaine, probable, ça sera planté jusqu'à lundi.



Lancement update.php

Une autre idée serait de suivre le conseil d'un des messages d'erreur :

A database error has occurred. Did you forget to run maintenance/update.php after upgrading? See: https://www.mediawiki.org/wiki/Manual:Upgrading#Run_the_update_script

Error 403 - Access forbidden

sans trop de surprise.

Faut lancer ça autrement.

En fait, ça marchera de toutes façons pas, puisque la BD est verrouillée.