J'utilise rsync pour sauvegarder les fichiers sur mon serveur, et mysqldump pour sauvegarder ma base de données. Voici ma préoccupation:Assurer l'intégrité des données de mysqldump <-> rsync
Un mysqldump sur ma base de données prend environ 30 secondes. J'ai une table appelée photos qui stocke des informations sur les images qu'un utilisateur a téléchargées, y compris le chemin d'accès au fichier. Je suis inquiet de ce qui se passera quand les photos seront téléchargées ou supprimées pendant les 30 secondes nécessaires pour compléter mysqldump. Si cela arrivait et que je devais ensuite restaurer les fichiers rsync'd et les données mysqldump, je pourrais alors regarder une base de données qui contient des lignes pointant vers des photos supprimées, ou des lignes manquantes pour les photos qui ont été téléchargées avec succès.
Comment puis-je m'assurer que mysqldump correspond exactement à rsync?
Merci à l'avance, Brian
Verrouiller les tables pendant la durée de mysqldump n'est pas suffisant - vous devez également les garder verrouillées pendant que rsync est en cours d'exécution. Sinon, si par ex. le rsync suit la sauvegarde, les fichiers peuvent être supprimés sur le disque que les revendications de vidage devraient être là; Pourtant, ces fichiers ne finissent pas dans le rsync. –
Donc, si les tables sont verrouillées et qu'un utilisateur télécharge un fichier, la requête INSERT pour créer l'enregistrement se poursuivra une fois les tables déverrouillées? Est-ce mauvais si la requête doit attendre 30+ secondes? – Brian