Comment automatiser les sauvegardes MySQL avec un script?
L'automatisation des sauvegardes MySQL avec un script est un moyen fiable de s'assurer que vos bases de données sont régulièrement sauvegardées sans intervention manuelle. Voici comment le configurer sur un système Linux à l'aide d'un script shell et de Cron.

1. Créez un script de sauvegarde
Commencez par écrire un script shell qui utilise mysqldump
pour créer une sauvegarde de votre base de données MySQL.
#! / bin / bash # Configuration Db_user = "your_mysql_user" Db_pass = "your_mysql_password" Db_name = "your_database_name" Backup_dir = "/ path / to / backup / répertoire" Timestamp = $ (date "% y% m% d_% h% m% s") Backup_file = "$ backup_dir / $ {db_name} _backup_ $ timestamp.sql" # Créer un répertoire de sauvegarde s'il n'existe pas mkdir -p $ backup_dir # Effectuez la sauvegarde mysqldump -u $ db_user -p $ db_pass $ db_name> $ backup_file # Vérifiez si la sauvegarde a réussi Si [$? -eq 0]; alors Echo "Sauvegarde réussie: $ backup_file" autre Echo "La sauvegarde a échoué!" sortie 1 FI
Remarque: il n'y a pas d'espace entre
-p
et le mot de passe dansmysqldump
. Ceci est requis pour que la commande fonctionne correctement.
Enregistrez ce script sous mysql_backup.sh
.
2. Sécurisez votre script et vos informations d'identification
Le stockage de mots de passe en texte brut est risqué. Pour une meilleure sécurité:

- Utilisez un fichier de configuration MySQL (
~/.my.cnf
) pour stocker en toute sécurité les informations d'identification.
Créer le fichier:
nano ~ / .my.cnf
Ajouter:
[client] user = your_mysql_user mot de passe = votre_mysql_password
Définir les autorisations strictes:
chmod 600 ~ / .my.cnf
Ensuite, mettez à jour votre script pour supprimer les arguments -u
et -p
:
mysqldump $ db_name> $ backup_file
mysqldump
utilisera maintenant automatiquement les informations d'identification de .my.cnf
.
3. Rendre le script exécutable
chmod x mysql_backup.sh
Testez-le manuellement:
./mysql_backup.sh
Vérifiez le répertoire de sauvegarde pour confirmer que le fichier .sql
a été créé.
4. Planifier avec cron
Automatisez le script à l'aide de cron
.
Modifiez le crontab:
crontab -e
Ajoutez une ligne pour exécuter la sauvegarde quotidiennement à 2 heures du matin:
0 2 * * * /path/to/mysql_backup.sh >> /path/to/backup/backup.log 2> & 1
Ce sera:
- Exécutez le script tous les jours à 2h00 du matin
- Sortie du journal (y compris les erreurs) à
backup.log
pour la surveillance
Vous pouvez ajuster le calendrier:
-
0 2 * * 0
- tous les dimanches à 2h du matin -
0 */6 * * *
- toutes les 6 heures
5. Facultatif: faire tourner les anciennes sauvegardes
Pour éviter de remplir l'espace disque, supprimez des sauvegardes plus anciennes que les jours.
Ajoutez ceci à votre script avant la sortie:
# Gardez seulement les 7 derniers jours de sauvegardes find $ backup_dir -name "$ {db_name} _backup _ *. Sql" -Type f -mtime 7 -delete 2> / dev / null
Notes finales
- Testez soigneusement le script et le travail cron.
- Stockez les sauvegardes hors serveur lorsque cela est possible (par exemple, stockage cloud).
- Surveillez régulièrement les journaux pour assurer les échecs tôt.
- Envisagez de comprimer les sauvegardes avec
gzip
pour économiser de l'espace:gzip $ backup_file
Fondamentalement, un script simple sécurisé les informations d'identification CRON = des sauvegardes MySQL automatisées fiables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La réponse est: l'instruction de cas de MySQL est utilisée pour implémenter la logique conditionnelle dans la requête, et prend en charge deux formulaires: simple et recherche. Différentes valeurs peuvent être renvoyées dynamiquement dans des clauses telles que Select, Where et OrderBy; Par exemple, dans SELECT, la classification des scores par segments fractionnaires, combinant des fonctions agrégées pour compter le nombre d'états, ou hiérarchiser les rôles spécifiques dans OrderBy, il est nécessaire de toujours terminer avec fin et il est recommandé d'utiliser d'autre pour gérer la situation par défaut.

Créez un script shell contenant la configuration de la base de données et la commande mysqldump et enregistrez-le sous Mysql_backup.sh; 2. Stockez les informations d'identification MySQL en créant un fichier ~ / .my.cnf et définissez 600 autorisations pour améliorer la sécurité, modifier le script pour utiliser l'authentification du fichier de configuration; 3. Utilisez Chmod X pour rendre l'exécutable de script et tester manuellement si la sauvegarde est réussie; 4. Ajouter des tâches chronométrées via Crontab-E, telles que 02 / path / vers / mysql_backup.sh >> / path / to / backup / backup.log2> & 1, réalisez la sauvegarde automatique et la journalisation à 2 heures du matin tous les jours; 5

TOBACKUPWECHATCHATS, USEICLOUDFORAUTAMAMECLOUDBABBORD, thewechatpcclientforfulllocalstorage, OrmanuallyExportSpecificConversationsViaFilesharing - InsireStableConnections andSufficientStorageSpace.

INSERT ... L'implémentation OnDuplicateKeyupdate sera mise à jour si elle existe, sinon elle sera insérée et nécessite des contraintes de clé unique ou primaires; 2. Réinsert après la suppression de RemplaceInto, qui peut entraîner des modifications de l'ID d'incrémentation automatique; 3. L'insertion inserte uniquement et ne fait pas de données répétitives, et ne met pas à jour. Il est recommandé d'utiliser la première implémentation d'UPsert.

Les sous-questionnaires peuvent être utilisés dans d'où, de sélection, de sélection et d'avoir des clauses pour implémenter le filtrage ou le calcul en fonction du résultat d'une autre requête. Les opérateurs tels que dans, tous, tous sont couramment utilisés dans où; Les alias sont nécessaires comme des tables dérivées de; Les valeurs uniques doivent être renvoyées dans Select; Les sous-requêtes apparentées reposent sur la requête extérieure pour exécuter chaque ligne. Par exemple, consultez les employés dont le salaire moyen est plus élevé que le ministère ou ajoutez la liste de salaire moyenne de l'entreprise. Les sous-questionnaires améliorent la clarté logique, mais les performances peuvent être inférieures à la jointure, vous devez donc vous assurer de retourner les résultats attendus.

Pour extraire des données spécifiques des sauvegardes, vous devez d'abord clarifier le format et la structure de sauvegarde, puis sélectionner les outils et méthodes appropriés. 1. Comprendre le format de sauvegarde, tel que iOS .Backup, Android .AB ou Tar.gz, base de données .sql ou .bak; 2. Utilisez des outils de décompression tels que 7-Zip, Winrar ou DD pour traiter le fichier image. En cas de chiffrement, vous devez décrypter le mot de passe ou l'outil spécial; 3. Utilisez iMazing, IExplorer ou SqliteBrowser et d'autres outils pour extraire avec précision les contacts, les messages texte, les photos et autres données dans iOS ou Android; 4. Le fichier .AB peut être converti en TAR via la ligne de commande puis décompressée pour extraire le contenu clé; 5. S'il n'y a pas d'outil de visualisation, vous pouvez utiliser SQL Query ou

ExpliquerInmysqlRevealSQueryExecutionPlans, montrant IndexUsage, TablereadOrder, androwfilteringTooptimePerFormance; useitBereelectoAnalyzesteps, checkkeycolumnsliketypeAndrow

Utilisez le mot clé distinct pour supprimer les valeurs en double de la colonne spécifiée et renvoyez des valeurs uniques. 1. La syntaxe de base est SelectDistinctColumn_NameFromTable_name; 2. Interrogez la valeur unique d'une seule colonne, telle que SelectDistinctCityFromCustomesrs; 3. Interrogez la combinaison unique de plusieurs colonnes, telles que SelectDistinctCity, StateFromCustomesrs; 4. Filtrez avec la clause WHERE et obtenez la valeur unique, comme selectDistinctProduct_namefromorderswhereOrder_Date> '202
