Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-01-2020 03:06:26

bypbop
Membre
Inscription : 27-03-2019

Sauvegarde automatique mysqldump ligne de commande

Bonjour,
Je me documente sur la fonction mysqldump en ligne de commande afin de créer un bash pour sauvegarder une base.
Je regarde ce tutoriel : https://community.jaguar-network.com/sa … mysqldump/
qui recommande de créer un fichier avec un utilisateur dbsave et un fichier de configuration qui fera les sauvegardes afin de ne pas voir le login et mdp ds le cron.

si j'ai bien compris on crée l'utilisateur


sudo useradd -d /home/save_db/ -m save_db
sudo passwd save_db
Password: save_db_password
Retype new password: save_db_password
passwd: password updated successfully



on crée le fichier .my.cnf avec le login mysql et le pwd mysql

echo "[mysqldump]" > /home/save_db/.my.cnf
echo "user=login_mysql" >> /home/save_db/.my.cnf
echo "password=password_mysql" >> /home/save_db/.my.cnf

### Droits en lecture/écriture uniquement pour le propriétaire save_db
chmod 600 /home/save_db/.my.cnf
chown save_db:save_db /home/save_db/.my.cnf




Nous allons utiliser une commande pour la mise en place de la sauvegarde pour une seule table en omettant volontairement le user et password que notre système récupèrera automatiquement sur le fichier préalablement configuré /home/save_db/.my.cnf :


mysqldump --add-drop-table --complete-insert --quote-names -B nom_bdd > /home/save_db/dump_nom_bdd_$(date +%Y-%m-%d).sql
nom_bdd




Ma question il n'y a aucune référence au fichier .my.cnf comment le système fait pour récupérer les valeurs des login mysql et pwd mysql dans le fichier.
Ma deuxième question je suis le seul administrateur sur la machine suis je obligé de passé par un nouvel utilisateur ?

Bien à vous,
bypbop

Dernière modification par bypbop (04-01-2020 03:07:19)

Hors ligne

#2 18-01-2020 10:25:04

jibe
Membre
Distrib. : DF-Linux 10
Noyau : Linux 4.19.0-10-amd64
(G)UI : mate
Inscription : 19-06-2018

Re : Sauvegarde automatique mysqldump ligne de commande

Salut,

Le chemin de .my.cnf indiqué dans ton tuto me semble curieux... Comme le précise celui-ci, ça devrait être ~/.my.cnf. Dans ce cas, le fichier est trouvé par défaut (donc sans besoin de le mentionner dans la ligne de commande) par mysqldump.

Si tu mets le fichier à un autre emplacement, il faut bien sûr à ce moment là le préciser par l'option --defaults-file :

mysqldump --defaults-file=/path-to-file/.my.cnf –u my_username my_db > my_db.sql


(ajouter bien sûr les autres options selon besoins).

Pour ce qui est la création d'un nouvel utilisateur, je pense que c'est surtout pour des raisons de sécurité : on déconseille généralement de travailler sous root, sauf si c'est absolument nécessaire. AMHA, ça tient plutôt de la recherche actuelle idiote du risque zéro... Perso, je préfère travailler sous root en étant prudent et en sachant ce que je fais plutôt que de copier/coller bêtement des commandes sudo que je ne comprends pas. Mais bon, c'est un avis personnel, à chacun de voir ce qui lui convient et de prendre ses responsabilités !

Hors ligne

#3 21-01-2020 19:55:19

bypbop
Membre
Inscription : 27-03-2019

Re : Sauvegarde automatique mysqldump ligne de commande

Merci jibe oui je préfère être prudent aussi et bien comprendre les commandes !

Hors ligne

Pied de page des forums