10
votes

Utiliser rsync pour sauvegarder mysql

J'utilise la commande rsync suivante pour sauvegarder mes données MySQL sur une machine au sein du réseau LAN. Cela fonctionne comme prévu.

rsync -avz /mysql/ root:PassWord@192.168.50.180:: /root/testme/


0 commentaires

3 Réponses :


5
votes

Je ne connais pas vraiment votre commande rsync, mais je ne suis pas sûr que c'est la bonne / la meilleure façon de faire de la sauvegarde avec MySQL; Vous devriez probablement jeter un oeil à cette page du manuel: 6.1. Sauvegardes de base de données

Les sauvegardes DB ne sont pas nécessairement aussi simples que l'on pourrait penser, compte tenu des problèmes tels que les serrures, l'écriture retardée et les optimisations MySQL peut faire avec ses données ... surtout si vos tables n'utilisent pas le moteur MyISAM.

À propos de " 5 minutes de crontab ": vous faites cette sauvegarde toutes les cinq minutes? Si vos données sont aussi sensibles, vous devez probablement penser à autre chose, comme la réplication à un autre serveur, de toujours avoir une copie à jour.


0 commentaires

17
votes
  1. N'utilisez pas l'utilisateur racine de la machine distante pour cela. En fait, ne se connectez jamais directement à l'utilisateur racine, c'est un risque de sécurité majeur. Dans ce cas, créez simplement un nouvel utilisateur avec peu de privilèges qui ne peuvent écrire que sur l'emplacement de sauvegarde
  2. N'utilisez pas de mot de passe pour cette connexion, mais utilisez plutôt authentification de clé publique
  3. Assurez-vous que MySQL ne fonctionne pas lorsque vous faites cela, ou vous pouvez facilement obtenir une sauvegarde corrompue.
  4. Utilisez MYSQLDUMP Pour créer une vidage de votre base de données tandis que MySQL fonctionne. Vous pouvez alors copier ce vidage en toute sécurité.

0 commentaires

6
votes

Je trouve une meilleure façon de faire des sauvegardes de MySQL consiste à utiliser la facilité de réplication.

Configurez votre machine de sauvegarde comme esclave de votre maître. Chaque transaction est alors automatiquement mirée.

Vous pouvez également fermer l'esclave et effectuer une sauvegarde complète sur bande. Lorsque vous redémarrez l'esclave, il synchronise à nouveau avec le maître.


2 commentaires

Cela ne fonctionnera que si vous avez des binlogs complets sur le maître. Parfois, il est préférable de restaurer l'esclave à partir d'une sauvegarde légèrement étalé (prise avec mysqldump - maîtres-cadres ), suivi d'un slave start , pour vous assurer que la base de données résultante est Achevée.


Oui, dupliquez votre base de données écrit sur une autre machine. Ensuite, lorsque vous supprimez accidentellement une table entière ou une base de données, vous pouvez simplement accéder à votre serveur MySQL répliqué et ... oh merde.