Envoyé par
arn0
Ah ok j'avais pas vraiment compris sa, je pensais que ce qui est dangereux c'est de recopier ses fichiers dans ce répertoire. Je savais pas que le faite de juste copier ses fichiers sur mon PC pouvez-vous faire planter mysql... :s
Non, dans ce sens là, ça ne va pas planter mysql mais cela risque fortement de
te donner une sauvegarde dite inconsistente, ce qui est le mal absolu en matière
de bases de données (c'est-à-dire que les fichiers ne contiendront qu'une partie seulement
des données, le reste étant en RAM au moment de ta copie de fichiers).
Cette sauvegarde ne sera ensuite pas exploitable pour restaurer la base en cas de besoin.
Et donc pour restaurer une BD via mysql -u root -p BASE < BASE.sql faut arreter mysql avant ou pas ?
Non, avec l'outil "mysql", tu n'as pas besoin d'arrêter MySQL (d'ailleurs si tu arrêtais MySQL, l'outil
"mysql" ne serait plus utilisable). Néanmoins, il est préférable que pendant les quelques secondes
que l'opération va durer (pour une petite base de 38 Mo), la base ne soit pas accédée par ailleurs
(je pense ici à un site web reposant sur cette base, qu'il vaudrait mieux mettre en mode maintenance,
le temps de la sauvegarde).
Et si l'on veut faire une importation via phpmyadmin (si c'est possible avec une BD de 38Mo
par exemple) faut-il également arreter mysql ?
Pas davantage (et si tu arrêtais MySQL, tu ne pourrais plus te servir de phpMyAdmin) mais
même réserves que ci-dessus, attention aux accès simultanés à cette base en cours de
restauration.
Il y a t il une commande pour restaurer uniquement table2 dans BASE par exemple ?
Pas directement, on peut le faire via la commande "mysql" ou encore dans phpMyAdmin mais cela
suppose que tu aies un fichier SQL avec seulement structure + données de cette table.
Si, au moment de la restauration, tu n'as qu'un gros fichier SQL avec toutes les tables dedans,
il faudra séparer la structure et les données de la table que tu veux restaurer, à l'aide d'un éditeur
de texte par exemple.
Donc extraire du gros fichier "mabase.sql" un fichier plus petit, mettons "matable.sql".
puis faire l'importation via :
Code:
mysql -u user -ppassword mabase < matable.sql
Comme dans "matable.sql" il n'y a que des instructions concernant la table "matable",
cela ne va pas toucher aux autres tables de la base en question.
Maintenant on peut également, au moment de la sauvegarde, indiquer que le fichier SQL
ne doit contenir que telle ou telle table, via une commande du genre :
Code:
mysqldump -u user -ppassword mabase matable > matable.sql
qui va seulement exporter la table nommée "matable" (structure + données) depuis
la base appellée "mabase" dans le fichier "matable.sql".