Export mysqldump PHP Problème

Fermé
Paul - Modifié par Blorld le 16/08/2010 à 08:37
Blorld Messages postés 2 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 18 août 2010 - 18 août 2010 à 07:02
Bonjour,

J'essaie en vain depuis plusieurs jours d'exporter une base données Mysql afin de faire une sauvegarde automatique en php. Je suis chez un hébergeur qui fait tourner ses serveurs sous Linux. Voici le script php que j'utilise :

$system="mysqldump --host=mysql5.0 --user=******** --password=******** --databases ******* > dump.sql";

system($system);

Je ne comprends pas... ça devrait marcher ! J'ai regardé sur beaucoup de forums et il ne devrait pas y avoir de problème ! Voici le résultat du fichier dump.sql :

-- MySQL dump 10.11
-- Host: mysql5.0 Database: ********
-- ------------------------------------------------------
-- Server version 5.0.51a-24+lenny3

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: '********'
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ '********' /*!40100 DEFAULT CHARACTER SET latin1 */;

USE '********';

Et rien après... J'ai contacté le support technique de mon hébergeur, qui m'a aussitôt répondu que c'est parce que ma base de données était vide, ce qui n'est en réalité absolument pas le cas...

Quelqu'un aurait-il une idée, une petite solution ??

Merci beaucoup par avance,

Paul
A voir également:

2 réponses

Blorld Messages postés 2 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 18 août 2010 1
18 août 2010 à 07:02
Alors voilà, je me suis obstiné et j'ai cherché un peu partout.

Après moult péripéties, voilà pourquoi ça ne fonctionnait pas et surtout, pourquoi le SQL s'arrêtait là alors qu'il avait si bien commencé à exécuter le dump... : les tables étaient bloquées !! Il m'a fallu faire un batch pour connaitre l'erreur, car du côté php, pas moyen de savoir !!

La solution est donc de rajouter un argument dans la ligne de commande : --lock-tables=false !!! Au final, voici la syntaxe qui a fini par me faire sourire :

Code php :

$host="serveur";
$id="identifiant";
$pass="mot_de_passe";
$bd="ma_base_de_données";
$sortie="dump_".$bd."_".date(j.m.Y).".sql";

$system="mysqldump --lock-tables=false -h ".$host." -u ".$id." -p".$pass." -B ".$bd." > ".$sortie;
system($system);
1
Blorld Messages postés 2 Date d'inscription lundi 16 août 2010 Statut Membre Dernière intervention 18 août 2010 1
16 août 2010 à 11:03
Personne n'a une ébauche de solution ? :-( ...
0