Sauvegarde base mysql
santiago69
Messages postés
485
Statut
Membre
-
Greatman -
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
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:
- Sauvegarde base mysql
- Logiciel de sauvegarde gratuit - Guide
- Base de registre - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Sauvegarde android - Guide
- Mysql community download - Télécharger - Bases de données
2 réponses
Bonjour,
Pour sauvegarder toutes les bases de données :
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...
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...
ok super, merci bcp foobar47 !
apres complement de recherche, j'utilise la syntaxe suivante :
-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 :
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 ?
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 ?