Partionnage puis Dump de base de données SQL
Fermé
iDre4mZ
Messages postés
20
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
16 mai 2016
-
31 mars 2013 à 21:12
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 avril 2013 à 00:44
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 avril 2013 à 00:44
A voir également:
- Partionnage puis Dump de base de données SQL
- Formules excel de base - Guide
- Désolé l'utilisation de la base de données a expiré epic games - Forum Jeux vidéo
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Base de registre - Guide
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
1 avril 2013 à 00:44
1 avril 2013 à 00:44
Ok donc je vais essayer de traduire du mieux que je peux. Comme tu le sais ton système linux est installé sur une partition "système", nommée "/". Pour faire très simple (à la limite du caricatural), c'est un peu l'équivalent de C: sous windows.
Dans / se trouvent un certain nombre de répertoires (par exemple /home, /proc etc...). Ces répertoires peuvent venir de différents endroits (une partition de disque dur, un partage réseau) et être de différente nature (des fichiers stockés sur un média comme ce serait le cas pour /home, des informations qui n'ont pas d'existence sur le disque mais qui représente l'état du système comme ce serait le cas pour /proc).
Sous linux les partitions sont notées /dev/sdXY ou X est une lettre qui désigne le disque et Y un entier strictement positif qui désigne désigne une partition. Par exemple /dev/sda1 désigne la première partition du premier disque dur.
Dans l'absolu, la commande "mount" sous linux permet d'alimenter le contenu de n'importe quel répertoire. /home, /proc etc ont été alimentés ainsi. Mais on pourrait très bien créer un répertoire vide (par exemple /mnt/linux/home et /mnt/linux/proc) et les faire apparaître dedans.
Ok maintenant supposons que je démarre sur un système tiers (par exemple un live-CD ou un live-USB). Alors rien ne m'empêche de créer un répertoire /mnt/linux et de monter la partition "/" de mon disque dur dans "/mnt/linux".
De même je peux y monter le "/proc" dans /mnt/linux/proc" voire d'autre répertoire si ça m'amuse (/dev et /home par exemple). Pour faire apparaître le contenu d'un répertoire dans un autre répertoire (mount bind). C'est une technique couramment utilisée pour faire un chroot (chose que je vais expliquer dans le paragraphe qui suit). Par exemple si je veux faire apparaître /proc dans /mnt/linux/proc :
Je vais alors reconstituer depuis un système tiers toute l'arborescence de mon linux dans /mnt/linux. Ensuite, si je dis que je repositionne / dans /mnt/linux (change root = chroot), alors tout se passera "comme si" j'avais démarré normalement. C'est une technique qui est couramment utilisé sous linux pour par exemple réparer un linux qui ne démarre plus.
Tu peux en outre utiliser la commande mysqldump, qui sert à recopier dans un fichier le contenu d'une base mysql (dump). Ce fichier contient des commandes SQL qui permettent d'initialiser une base vide de sorte à y insérer toutes les données que tu as dumpé.
http://pwet.fr/man/linux/commandes/mysqldump/
Tu auras alors dans /root un fichier all_databases.sql qui contient le dump. Tu peux ensuite quitter le chroot avec la commande "exit" ou en appuyant sur ctrl d. Du coup ton fichier sera dans /mnt/linux/root/all_databases.sql. Il ne reste plus qu'à le recopier où tu veux.
Ensuite il ne reste plus qu'à démonter ce que tu as monté :
Note : personnellement je ne pense pas que pour monter /proc tu aies besoin de faire un bind. Personnellement j'aurais juste lancé :
Bonne chance
Dans / se trouvent un certain nombre de répertoires (par exemple /home, /proc etc...). Ces répertoires peuvent venir de différents endroits (une partition de disque dur, un partage réseau) et être de différente nature (des fichiers stockés sur un média comme ce serait le cas pour /home, des informations qui n'ont pas d'existence sur le disque mais qui représente l'état du système comme ce serait le cas pour /proc).
Sous linux les partitions sont notées /dev/sdXY ou X est une lettre qui désigne le disque et Y un entier strictement positif qui désigne désigne une partition. Par exemple /dev/sda1 désigne la première partition du premier disque dur.
Dans l'absolu, la commande "mount" sous linux permet d'alimenter le contenu de n'importe quel répertoire. /home, /proc etc ont été alimentés ainsi. Mais on pourrait très bien créer un répertoire vide (par exemple /mnt/linux/home et /mnt/linux/proc) et les faire apparaître dedans.
Ok maintenant supposons que je démarre sur un système tiers (par exemple un live-CD ou un live-USB). Alors rien ne m'empêche de créer un répertoire /mnt/linux et de monter la partition "/" de mon disque dur dans "/mnt/linux".
mkdir -p /mnt/linux mount /dev/sda1 /mnt/linux # en supposant que / corresponde à /dev/sda1
De même je peux y monter le "/proc" dans /mnt/linux/proc" voire d'autre répertoire si ça m'amuse (/dev et /home par exemple). Pour faire apparaître le contenu d'un répertoire dans un autre répertoire (mount bind). C'est une technique couramment utilisée pour faire un chroot (chose que je vais expliquer dans le paragraphe qui suit). Par exemple si je veux faire apparaître /proc dans /mnt/linux/proc :
mount -o bind /proc /mnt/linux/proc
Je vais alors reconstituer depuis un système tiers toute l'arborescence de mon linux dans /mnt/linux. Ensuite, si je dis que je repositionne / dans /mnt/linux (change root = chroot), alors tout se passera "comme si" j'avais démarré normalement. C'est une technique qui est couramment utilisé sous linux pour par exemple réparer un linux qui ne démarre plus.
Tu peux en outre utiliser la commande mysqldump, qui sert à recopier dans un fichier le contenu d'une base mysql (dump). Ce fichier contient des commandes SQL qui permettent d'initialiser une base vide de sorte à y insérer toutes les données que tu as dumpé.
http://pwet.fr/man/linux/commandes/mysqldump/
mysqldump -u root -p --all-databases > /root/all_databases.sql
Tu auras alors dans /root un fichier all_databases.sql qui contient le dump. Tu peux ensuite quitter le chroot avec la commande "exit" ou en appuyant sur ctrl d. Du coup ton fichier sera dans /mnt/linux/root/all_databases.sql. Il ne reste plus qu'à le recopier où tu veux.
Ensuite il ne reste plus qu'à démonter ce que tu as monté :
umount /mnt/linux/proc umount /mnt/linux
Note : personnellement je ne pense pas que pour monter /proc tu aies besoin de faire un bind. Personnellement j'aurais juste lancé :
mkdir -p /mnt/linux mount /dev/sda1 /mnt/linux chroot /mnt/linux mount /proc mysqldump -u root -p --all-databases > /root/all_databases.sql umount /proc (ctrl d) cp /mnt/linux/proc /tmp umount /mnt/linux
Bonne chance