Annonce

  •  » Utilisation
  •  » Base de donnée MySQL corrompue après une maintenance/optimisation

#1 2014-01-25 00:45:09

Simon
Membre
2014-01-25
4

Base de donnée MySQL corrompue après une maintenance/optimisation

Bonjour,

Je viens récemment de réinstaller Piwigo 2.6.0 avec mon nouvel hébergeur.

Mon site est hébergé par Gandi.net et utilise les versions de PHP et MySQL suivantes:
PHP Version 5.4.4-14+deb7u7.5
MySQL version  libmysql - 5.5.33

Comme certaine de mes photos ne s'affichaient pas correctement j'ai voulu lancer une procédure d'optimisation (section Maintenance de la page d'administration) et là... autodestruction complète de ma base de donnée.

Quand j'essaie d’accéder à ma galerie j'ai le message suivant:
Warning:  [mysql error 144] Table './galerie/piwigo_config' is marked as crashed and last (automatic?) repair failed

Quand je vais voir ma base de données avec phpMyAdmin toutes les tables sont corrompues:
ex : "#144 - Table './galerie/piwigo_categories' is marked as crashed and last (automatic?) repair failed"

Les procédures de réparation dans phpMyAdmin sont inopérantes... à moins que mon hébergeur ai une sauvegarde je pense qu'il va falloir tout réinstaller...

Question:
- Est-ce que c'est une erreur connue avec ma combinaison de PHP et MySQL (5.4.4 / 5.5.33). Si oui est-ce que la mise à jour de Piwigo 2.6.1 va fixer ça ?

Merci

Hors ligne

#2 2014-01-25 11:49:53

flop25
Équipe Piwigo
2006-07-06
6544

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Bonjour
piwigo ou autre application ne peut corrompre
Il s'agit d'un problème de leur serveur de base de données. Les données sont enregistrées dans des fichiers, et ceux ci peuvent être corrompu par le système disque

Hors ligne

#3 2014-01-26 01:35:41

Simon
Membre
2014-01-25
4

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Je viens de complétement réinstaller Piwigo 2.6.1 en utilisant la procédure NetInstall. Au préalable j'ai supprimé tous les fichiers de mon serveur (répertoire "piwigo") et supprimé toutes les tables de la base donnée avec phpMyAdmin.

Après avoir ajouté quelques utilisateurs et configuré les options par défaut (pas encore de photos) j'ai fait une sauvegarde des tables avec phpMyAdmin.

Et j'ai essayé "Réparer et optimiser la base de données"... Même punition, corruption total de ma base de donnée, voici le message d'erreur:
Fatal error: Call to a member function fetch_assoc() on a non-object in /srv/data/web/vhosts/www.monsite.fr/htdocs/piwigo/include/dblayer/functions_mysqli.inc.php on line 181

Je peux revenir à l'état pré-crash avec ma sauvegarde, mais je ne suis vraiment pas rassuré quand à la fiabilité de ma galerie...

Je vais essayer de voir s'il est possible d'utiliser des versions un peu plus anciennes de PHP/MySQL sur mon site et refaire un essai.

Hors ligne

#4 2014-01-26 05:50:56

kdedino
Invité

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

bonjour à tous,
1ere idée, le problème vient peut-être du htaccess
2eme idée, refaire le test de zero en ne prenant pas le netinstall, et mettre en prefixe de la table autre_ . Si ca foire c'est qu'il y a une configuration à faire.
y a t-il plusieurs galleries installées ?

Cordialement
kdedino

#5 2014-01-26 17:03:58

flop25
Équipe Piwigo
2006-07-06
6544

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Essayez de faire la même chose MAIS dans phpMyAdmin ou autre outil de gestion de base de données fournies par votre hébergeur

Hors ligne

#6 2014-01-26 21:57:33

Simon
Membre
2014-01-25
4

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Merci flop25 pour cette suggestion, je viens d'essayer "repair" dans phpMyAdmin et c'est effectivement ça qui casse tout...
galerie.piwigo_caddie     repair     error     22 when fixing table
galerie.piwigo_caddie     repair     Error     Can't change ownership of the file '/srv/data/db/mysql/galerie/piwigo_caddie.MYD' (Errcode: 22)
galerie.piwigo_caddie     repair     Error     Can't change ownership of the file '/srv/data/db/mysql/galerie/piwigo_caddie.MYD' (Errcode: 22)
galerie.piwigo_caddie     repair     status     Operation failed
...
Même message sur toutes les tables et après ça les tables sont HS.

Je vais voir avec mon hébergeur pour trouver un solution/explication. Je vais aussi voir ce que Google peut m'apprendre sur l'erreur 22.

Hors ligne

#7 2014-01-28 07:44:47

poulpix
Membre
2013-02-20
13

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

bonjour, j'ai eu un problème avec une très grosse table mysql sur un phpbb j'ai pu le résoudre avec se bout de cote se qui compte c'est la mémory_limit pour le le code est le temps de fini le travail.
remplit les champ un par un et exécute le fichier depuis la racine de ton site.

(www.monsite.com/repair.php)

copie et colle dans un fichier "repair.php"

<?php
ini_set('memory_limit','256M');
echo "Memory limit: " . ini_get("memory_limit");
echo "<br />";

// Enter username & password pour se connecté: //
$dbLink = mysql_connect("localhost", "user", "pass") or die("Unable to connect to the database.");

//base de donné //
$bdd = 'base';

mysql_select_db($bdd,$dbLink) or die("Unable to select database");

//table a réparé //
$sql = "repair table piwigo_table";

$query3 = mysql_query($sql) or die("Error repairing a table - $sql");

echo "Finished!\n";

?>

Hors ligne

#8 2014-01-29 03:12:04

oliverfr
Membre
2013-04-27
176

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Je peux juste mentionner une chose, j'ai les mêmes version de Php et Mysql (Debian Wheezy sans doute ?), et ça marche, donc au moins ça n'est pas un problème d'incompatibilité de versions des moteurs php/mysql avec piwigo.

Si tu as un accès en ligne de commande à ton hébergement, tu peux aussi lancer une procédure de réparation/optimisation qui ne passerait PAS par le moteur php (ce qui serait le cas avec un script php ou avec phpmyadmin.)
S'il y a quelque-part un problème de timeouts (moi : aucune idée, je vote blanc), ça le contourne.

Voici la commande, pour vérifier, optimiser et réparer en une seule fois une base de données :
mysqlcheck -u root -p --debug-info --auto-repair -c -o nom_de_la_base_de_données
(ici, si tu n'es pas loggé en tant qu'admin de la machine, il faudra remplacer root par ton nom d'utilisateur, et il est normal que te soit demandé ton mot de passe pour mysql)

Bonne chance!

Hors ligne

#9 2014-02-19 03:20:26

Simon
Membre
2014-01-25
4

Re: Base de donnée MySQL corrompue après une maintenance/optimisation

Merci à tous pour votre aide, mon problème est enfin résolu !
Il s’agissait d'un problème de configuration au niveau du serveur de mon hébergeur.

Hors ligne

  •  » Utilisation
  •  » Base de donnée MySQL corrompue après une maintenance/optimisation

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2022 · Contact