Stockage et Sauvegardes – [Résolu] Générer un dump de la base de données - via un script
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

[Résolu] Générer un dump de la base de données - via un script

Par
VanessaB5
Créé le 2018-03-22 18:44:12 (edited on 2024-09-04 13:39:16) dans Stockage et Sauvegardes

Bonjour tout le monde,

J'essaye depuis 3 bonnes heures de générer un backup de la base de données sans devoir passer par l'interface web d'OVH.

Pour ça, j'ai commencé par la doc officielle fournie par OVH. Sans succès:

Création dun fichier `dump.php` à la racine du dossier `www` contenant ces lignes:

system("mysqldump --host=adresse_du_serveur --user=nom_utilisateur --password=mot_de_passe_utilisateur nom_base_de_données > sauvegarde.sql");
?>

Ce fichier est ensuite appelé depuis le navigateur.

Résultat: Un fichier `sauvegarde.sql` est bien créé, mais **celui-ci reste désespérément vide** (0ko), même en patientant plusieurs minutes.

J'ai donc testé quelques trucs en plus:

- le script est passé en `chmod 777`
- ajout de `--port=3306`
- test également avec `https://` au début du host

**Même résultat,** le fichier `.sql` est mis à jour, mais **il reste vide**.

**Quelques infos supplémentaires:**

- les login et mot de passe ont été testés via phpMyAdmin, et ils fonctionnent.
De même, une installation de Wordpress utilise ces même credentials. J'ai repris les données dans le fichier `wp-config.php` de Wordpress.

- il n'y a pas de caractères spéciaux dans les login/mdp

**Configuration:**

- Global PHP version 7.2
- Datacentre "gra3"
- L'offre d'hébergement ne permet pas l'usage du SSH (Contrat "Perso 2014")

Notez que j'ai déjà fait les même tests il y a trois semaines environ, même échecs à l'époque.

Avez-vous une piste ?

**EDIT:**

Une modification du script permet d'avoir (un peu) plus d'info:

$output = ];
system("mysqldump --host=vanessd875.mysql.db --user=vanessd --password=XXX vanessd875 > ovh.sql",$output);
var_dump($output);
?>

Affiche `int(2) ` dans le navigateur. Pour moi ça reste incompréhensible mais peut-être que ça peu aider à comprendre le problème.

**EDIT 2:**

J'ai testé une version adaptée [de ce Gist
:

```
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$database = 'vanessd875';
$user = 'vanessd';
$pass = 'XXXXX';
$host = 'vanessd875.mysql.db';
$dir = dirname(__FILE__) . '/dump.sql';

echo "

Backing up database to `{$dir}`

";
exec("mysqldump --user={$user} --password={$pass} --host={$host} {$database} --result-file={$dir} 2>&1", $output);
var_dump($output);
?>
```

La réponse laisse à penser qu'il y a un problème de permissions:

```
Backing up database to `/home/vanessd/www/dump.sql`
array(1) { [0]=> string(120) "mysqldump: Got error: 1045: Access denied for user 'vanessd'@'10.30.20.102' (using password: YES) when trying to connect" }
```


Cordialement, Vaness


9 réponses ( Latest reply on 2021-05-06 16:00:45 Par
Gaston_Phone
)

Bonjour @VanessaB5

Voir ma doc --> **https://www.wordetweb.com/word-et-web/OVH-Sauvegarder-Restaurer-une-base-de-donnees-via-un-script-FR.htm OVH - Sauvegardes et Restaurations de Bases de Données via un script**

Bonjour @Gaston_Phone, et merci pour cette réponse rapide !

J'ai lancé ton script sur mon serveur, un fichier `sauve_base_format_gzip.gz` est bien créé mais celui-ci pèse 20 _bytes_ et lorsque j'essaye de l'extraire je reçois un message d'erreur "empty archive"..

Voici ce que m'affiche le navigateur :

> Sauvegarde de la base vanessd875 par mysqldump dans le fichier sauve_base_format_gzip.gz
Sauvegarde effectuée dans sauve_base_format_gzip.gz de taille 20 Ko
Fin de la Sauvegarde GZIP de la totalité de la base vanessd875 (depuis le serveur SQL vanessd875.mysql.db)

Toujours dans le but de récolter des infos, j'ai lancé ce petit script:
tourner



Réponse obtenue dans le navigateur :

mysqldump: /usr/share/man/man1/mysqldump.1.gz

Question :

Est-ce normal que se soit uniquement le chemin vers la page de man qui s'affiche, sans référence à un executable ? (désolé je débute 😓)

EDIT: En local j'ai cette réponse :

mysqldump: /usr/bin/mysqldump /usr/share/man/man1/mysqldump.1.gz

J'ai lancé https://wordetweb.com/word-et-web/OVH-Tester-une-base-de-donnees-avec-un-script-mysqli-FR.htm le script de test réalisé par @Gaston_Phone , même problème de permissions:

> Opérations sur une Base de Données MySQL via les commandes mysqli
Version de PHP : 7.2.34
Travaux dans la base 'vanessd875' sur le serveur 'vanessd875.mysql.db'
Connexion à MySQL - Erreur=(1045)Access denied for user 'vanessd'@'10.30.20.149' (using password: YES)

(le problème de formatage des accents apparait également dans le navigateur)

Bonjour @VanessaB5

Les identifiants ne sont pas corrects.
Es-tu sûre que ton mot de passe est correct ?

Absolument certaine: je les ai plusieurs fois copié-collés dans le formulaire de login de phpMyAdmin.

Je suis même allée regarder https://www.ovh.com/fr/hebergement-web/hebergement-perso.xml les détails de l'offre que j'ai souscrite (Perso 2014), dans le doute. Rien ne dit que je n'ai pas le droit de faire une telle connexion..

Je désespère un peu là.. Je n'arrive pas à me mettre à créer du contenu sans savoir que des sauvegardes sont possibles, et de manière scriptable.

Merci @Gaston_Phone pour ton soutien !


Connexion à MySQL - Erreur=(1045)Access denied for user 'vanessd'@'10.30.20.149' (using password: YES)

Ton mot de passe n'est pas le bon.
Regarde dans /www/wp-config.php

Bien vu Gaston, c'était bien ça, j'ai confondu le nom d'user _de la base de données_ avec celui du login de Wordpress.

Un grand grand Merci @Gaston_Phone , sans toi j'en serai encore à me taper la tête sur les murs !

J'aimerai marquer ce topic comme Résolu, j'édite le titre ? ou il y a un raccourci que je n'ai pas trouvé ?

Bonjour @VanessaB5

Et pour tous tes autres problèmes avec WordPress :

Voir mon guide --> **https://www.wordetweb.com/word-et-web/WORDPRESS-guide-installation-de-WordPress-premier-domaine-chez-OVH-FR.htm CMS - WordPress - Guide d’installation chez OVH**