Comment sauvegarder la base pour la restaurer

Salut tout le monde,

donc je veux sauvegarder une base de données dun de mes sites pour la récupérer pour un site test. Ils ont tous les deux la même version de SPIP.

Mon hébergeur est o2switch.

1/ je vais sur le site dont je veux sauvegarder la base, dans Maintenance > Sauvegarder la base ça génère un fichier au format sql.

2/ je verse ce fichier dans le dossier tmp/dump, je veux restaurer la base en passant par Maintenane, il a l’air de bosser et me dit que c’est bon, mais… il n’y a aucun article, rien.

OU j’essaie en renomment la base en .sqlite (on ne sait jamais), pareil.

OU je fais un export de la base via PHP MyAdmin et là il me balance que des tables n’existent pas.

OK d’accord, du coup je passe par PHP MyAdin, et j’importe la base exportée plus tôt. Pareil.

Du coup je ne sais plus quoi faire.

Merci d’avance.

Bonjour,

Si les 2 sites sont en mysql, via phpmyadmin c’est l’action de dupliquer la base puis la renommer qui serait le mieux.
Sqlite ce n’est pas top

Le mieux est toujours de passer par phpMyAdmin (ou autre outil de gestion de base de données) :slight_smile:

Le fichier sql exporté depuis phpMyAdmin contient-il des données ? Il pèse combien (en sql, pas en zip) ?
Si pas de doonnées, c’est un pb d’export : via phpMyAdmin, ouvrir la base en question > onglet exporter > cocher « Rapide, n’afficher qu’un minimum d’options puis exécuter », ça lance le téléchargement de la base au format SQL.

Si oui : quand tu l’importes via phpMyAdmin dans l’autre base, y a t’il la structure (tables spip_articles, spip_rubriques…) et les données dans ces tables ?
Si non, c’est un problème d’import.

Le second est un site de test sur lequel j’aimerais bien mettre la base de données. Mais comment on duplique une base dans PhpMyAdmin (j’ai pas trouvé).

Si la base de données d’origine n’avait pas de données, je n’aurais pas trouvé nécessaire de l’importer. Et donc oui, il y a des données. Et, comme je le disais j’ai essayé de passer par l’export de Php MyAdmin. Je te renvoie à mon premier message : il ne récupère pas les tables (pas toutes).

J’ai une autre souci soit dit en passant avec un site et une base sqlite : PhpMyAdmin ne trouve pas les tables (le site tourne pourtant tout à fait bien).

On ne « duplique » pas, on exporte le contenu d’une base et on l’importe dans une autre base :slight_smile:

Ce n’est pas ma question, ma question est : le fichier SQL exporté via phpMyAdmin contient-il des données ? Puisqu’il semble y avoir une problème de tables manquantes : toutes ? certaines ? lesquelles ?

La méthode que j’ai détaillée (« Rapide, n’afficher qu’un minimum d’options puis exécuter ») permet justement d’éviter ce type de problèmes.

Pour info, dans phpMyAdmin, il faut bien cliquer sur la base à exporter avant d’exporter (voir capture jointe ci-dessous)

phpMyAdmin ne gère que les bases SQL, pas SQLite, pour ça il faut installer https://contrib.spip.net/Adminer

Screenshot 2022-06-22 at 16-39-04 phpMyAdmin 4.9.7

  1. O2switch utilise mariaDB donc export SQL pur et dur et pas de soucis
  2. tu dis que PHP n’exporte pas toutes les tables, tu as vérifié dans le fichier d’export comme le demande JM ou tu t’es contenté de regarder le résultat après import ?
    A tu bien sélectionné la base comme te l’explique JM
  3. t’a pas forcé certains paramètres tel que le jeu de caractère qui pourraient générer des erreurs et pas créer les tables ?
  4. n’a tu pas décocher par erreur certaines tables avant export (mode personnalisé)?
  5. a tu rajouté les option drop et create (mode personnalisé) qui permettent d’avoir une base à l’identique après import, vu que tu a bidouillé avant avec ta base de test

Et sinon, on fait comme je viens de le faire en mode bourrin, on clique sur les 8 malheureux onglets de PHPmyadmin et on trouve l’outil « Copier la base de données vers » dans le 7ième :wink:
Après, j’avoue que je n’utilise jamais cet outil que je ne connaissais pas il y a 10"
(Mon site de test étant en local)

Clt

J’ai fini par y arriver.

L’astuce, ordre à suivre :

  1. exporter la base de données mysql puis l’importer
  2. installer dans SPIP en indiquant le format SQL et la base de données.

Dans l’autre ordre ça ne fonctionne pas.

Sinon, pour le site en SQlite, je vais d’abord le sauvegarder en MySQL et ensuite, ben faire un test et peut-être remplacer la base SQLite par la version MySQL. Ou pas. Mais je saurais faire, c’est le plus important.