Sauvegarde base mysql

santiago69 Messages postés 485 Statut Membre -  
 Greatman -
salut a tous,
je debute en plein de choses dont linux et mysql.
j'ai installe mysql sur un serveur linux debian pour une assoc.
j'ai aussi installe un logiciel de sauvegarde.

1) puis je tout simplement sauvegarder mes bases mysql en incluant un repertoire dans ma sauvegarde ? lequel ?

2) sinon, je me documente peu a peu sur mysqldump. il s'agit bien d'une commande permettant de sauvegarder une bdd dans un fichier ? est ce la seule ? est ce la plus adaptee pour une sauvegarde complete ?
dans ce cas, mes problemes sont lies a la securite. c'est pas un enjeu capital mais comme je bosse benevolement pour eux, autant que j'apprenne et que je fasse les choses proprement donc :
2.1) le fichier de destination du mysqldump sera dans un repertoire accessible uniquement au systeme de sauvegarde (je devrais savoir faire)
2.2) je voudrais ajouter la commande "mysqldump -u root -ppassword -rfichier nom_base" dans un script. Le probleme, c'est que le mot de passe root apparait en clair dans le fichier. comment faire ?
2.3) si je ne connais pas par avance le nom de toutes les bases de donnees, puis je envoyer une commande depuis le shell du style "mysql show databases > fichier" et il ne me reste plus qu'a traiter le fichier et lancer la commande mysqldump sur chaque nom de base de donnee.

Merci pour vos reponses
Santiago
A voir également:

2 réponses

foobar47 Messages postés 13654 Statut Contributeur 533
 
Bonjour,

Pour sauvegarder toutes les bases de données :

mysqldump -u root -ppassword --all-databases  > /tmp/backup.sql


Bien entendu, ton mot de passe sera en clair mais ce n'est pas grave car tu ne permettras à personne de lire ce fichier, mis à part à l'utilisateur root...
6
santiago69 Messages postés 485 Statut Membre 209
 
ok super, merci bcp foobar47 !

apres complement de recherche, j'utilise la syntaxe suivante :
mysqldump -h host -u root -ppassword -A --add-drop-database > /home/backup/mysql-dump

-A remplace --all-databases
--add-drop-database permet de supprimer les bdd existantes avant de les remplacer par celles sauvegarde dans le fichier dump.

j'ai aussi trouve les commmandes suivantes qui semblent recommandees :
mysqladmin stop-slave
mysqldump -h host -u root -ppassword -A --add-drop-database > /home/backup/mysql-dump
mysqladmin start-slave

c'est quoi le slave ?
doit vraiment lancer ces commandes avant et apres le dump ?

pour le mdp, j'ai trouve une solution alternative dans https://dev.mysql.com/doc/refman/8.0/en/password-security.html
l'idee est d'ecrire en dur le password dans le fichier /home/<username>/.my.cnf
d'apres le tutoriel, cette solution est plus sure que d'ecrire le mdp dans un script.
1) la solution offre pour moi un avantage :
mon linux username est "santiago"
j'ai aussi un mysql username "santiago"
donc avant je me connectait a mysql en faisant "mysql -p" afin de saisir mon mdp mysql
maintenant, la commande "mysql" suffit
2) cependant, en ce qui concerne l'utilisateur root, je ne trouve pas de repertoire /home/root pour y placer un fichier .my.cnf
est ce que quelqu'un a une idee ?

3
Greatman
 
le dossier root sur le systeme c'est /root
0