


Effectuer des sauvegardes logiques à l'aide de mysqldump dans MySQL
Jul 06, 2025 am 02:55 AMMySQLDump est un outil commun pour effectuer des sauvegardes logiques des bases de données MySQL. Il génère des fichiers SQL contenant des instructions de création et d'insertion pour reconstruire la base de données. 1. Il ne sauvegarde pas les fichiers d'origine, mais convertit la structure de la base de données et le contenu en commandes SQL portables; 2. Il convient aux petites bases de données ou à la récupération sélective et ne convient pas à la récupération rapide des données de niveau TB; 3. 4. Utilisez la commande MySQL pour importer pendant la récupération, et les vérifications des clés étrangères peuvent être désactivées pour améliorer la vitesse; 5. Il est recommandé de tester régulièrement la sauvegarde, d'utiliser la compression, de planifier automatisé, de dénominer avec des métadonnées et de surveiller l'espace disque.
Lorsque vous devez sauvegarder vos bases de données MySQL, mysqldump
est l'un des outils les plus couramment utilisés pour effectuer des sauvegardes logiques. Il génère des fichiers SQL qui contiennent des instructions de création et d'insertion nécessaires pour reconstruire la base de données. Cette méthode est particulièrement utile lorsque vous souhaitez migrer des données, restaurer sélectivement ou modifications de schéma de contr?le de version.

Ce qu'une sauvegarde logique avec mysqldump fait réellement
Une sauvegarde logique n'est pas une copie directe de vos fichiers de base de données sur le disque - c'est plut?t un ensemble d'instructions SQL qui peuvent recréer votre structure de base de données et votre contenu. Lorsque vous exécutez mysqldump
, il lit les tables de votre serveur MySQL en cours d'exécution et les convertit en commandes SQL basées sur du texte.

Cela signifie:
- Vous ne sauvegardez pas les fichiers RAW
.ibd
ou.frm
. - La sortie est portable sur différentes plates-formes et versions MySQL (dans une certaine mesure).
- Ce n'est pas le moyen le plus rapide de sauvegarder d'énormes bases de données, mais il est flexible et facile à inspecter ou à modifier.
Donc, si vous cherchez quelque chose de vite pour la reprise après sinistre des données à l'échelle de téraoctets, ce n'est peut-être pas le meilleur choix. Mais pour les bases de données plus petites ou les restaurations sélectives, elle est solide.

Structure de commande de base et options communes
L'utilisation de base de mysqldump
ressemble à ceci:
mysqldump [options] [db_name [tbl_name ...]]
Voici quelques exemples pratiques basés sur des scénarios du monde réel:
Vider une seule base de données:
MySQLDUmp -U Username -P Dbname> Backup.Sql
Vider plusieurs bases de données:
MySQLDUmp -U Name d'utilisateur -P - Databases DB1 DB2> BACKUP.SQL
Vider toutes les bases de données:
MySQLDUmp -U Nom d'utilisateur -p - toutes les-databases> Backup.sql
Certaines options que vous verrez souvent:
-
--single-transaction
: Aide à obtenir un instantané cohérent sans tables de verrouillage (bon pour InNODB). -
-h
ou--host
: se connecte à un serveur MySQL distant. -
--routines
,--events
,--triggers
: Incluez des routines, des événements et des déclencheurs stockés dans la décharge. -
--no-data
ou-d
: ne vide que le schéma, pas les données.
Si vous prévoyez d'utiliser ces vidages pour restaurer plus tard, envisagez d'ajouter --add-drop-table
ou --add-drop-database
afin que les tables existantes soient supprimées avant d'être recréées.
Comment restaurer à partir d'un fichier de vidage
La restauration d'un fichier mysqldump
est simple. Vous vous rendez simplement le fichier SQL dans le client de ligne de commande mysql
:
mysql -u nom d'utilisateur -p dbname <backup.sql
Mais voici ce que les gens oublient parfois:
- Si la base de données n'existe pas déjà, créez-le d'abord.
- Assurez-vous que l'utilisateur a des privilèges appropriés.
- Si le vidage comprend plusieurs bases de données ou utilise
CREATE DATABASE
, vous n'aurez peut-être pas besoin de spécifier un nom de base de données cible.
De plus, les gros décharges peuvent prendre du temps. Si vous restaurez un fichier multi-gigaoctets, envisagez de désactiver les vérifications de la clé étrangère au début:
Définir Foreign_Key_Checks = 0;
Puis les réactiverons après l'importation:
Définir Foreign_Key_Checks = 1;
Soyez simplement prudent - la désactivation des contraintes peut entra?ner des incohérences si les données ne sont pas propres.
Conseils pour gérer efficacement les sauvegardes MySQLDUmp
Les sauvegardes aident que si elles fonctionnent lorsque vous en avez besoin. Voici quelques conseils pour rendre votre flux de travail plus lisse:
Testez régulièrement vos sauvegardes : essayez de les restaurer dans un endroit s?r pour vous assurer qu'ils n'ont pas été corrompus ou manqué quelque chose d'important.
Utilisez la compression : tuyau la sortie vers
gzip
pour économiser de l'espace:mysqldump -u user -p dbname | gzip> backup.sql.gz
Automatiser avec CRON : Planifiez des sauvegardes régulières à l'aide de Cron Jobs. N'oubliez pas de gérer la rotation - les anciennes sauvegardes prennent également de la place.
Incluez les métadonnées dans les noms de fichiers : ajoutez des informations de date ou de version à vos fichiers de sauvegarde afin qu'il soit plus facile de suivre celui qui est actuellement:
MySQLDUmp -U User -P dbname> Sauvegarde _ $ (date% f) .sql
Surveillez l'espace disque : surtout si vous gardez des sauvegardes quotidiennes, assurez-vous que votre stockage ne se remplit pas de fa?on inattendue.
Vous n'avez rien de sophistiqué pour commencer avec mysqldump
. Juste un peu de planification et de cohérence va très loin.
Fondamentalement, c'est tout.
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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

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)

Sujets chauds

Pour réinitialiser le mot de passe racine de MySQL, veuillez suivre les étapes suivantes: 1. Arrêtez le serveur MySQL, utilisez SudosystemCTlStopmysql ou SudosystemctlStopMysQLD; 2. Démarrez MySQL en - Skip-Grant-Tables, exécutez SudomysQld-Skip-Grant-Tables &; 3. Connectez-vous à MySQL et exécutez la commande SQL correspondante pour modifier le mot de passe en fonction de la version, telle que Flushprivileges; alterUser'root '@' localhost'identifiedby'your_new

ToseCurelyConnectToAremotemysQlServer, Usesshtunneling, ConfigureMysqlForremoteAccess, Setfirewallrules et Considersslincryption . Premier, établianshtunnelwithssh-l3307: localhost: 3306User @ Remote-Server-NandConnectViamysql-H127.0.0.1-P3307.Second, Editmys

MySQLDump est un outil commun pour effectuer des sauvegardes logiques des bases de données MySQL. Il génère des fichiers SQL contenant des instructions de création et d'insertion pour reconstruire la base de données. 1. Il ne sauvegarde pas le fichier d'origine, mais convertit la structure de la base de données et le contenu en commandes SQL portables; 2. Il convient aux petites bases de données ou à la récupération sélective et ne convient pas à la récupération rapide des données de niveau TB; 3. 4. Utilisez la commande MySQL pour importer pendant la récupération et peut désactiver les vérifications des clés étrangères pour améliorer la vitesse; 5. Il est recommandé de tester régulièrement la sauvegarde, d'utiliser la compression et de régler automatiquement.

Lors de la gestion des valeurs nuls dans MySQL, veuillez noter: 1. Lors de la conception du tableau, les champs clés sont définis sur Notnull et les champs facultatifs sont autorisés nuls; 2. ISNULL ou ISNOTNULL doit être utilisé avec = ou! =; 3. Les fonctions IFNULL ou Coalesce peuvent être utilisées pour remplacer les valeurs par défaut d'affichage; 4. Soyez prudent lorsque vous utilisez des valeurs nulles directement lors de l'insertion ou de la mise à jour, et faites attention aux méthodes de traitement de la source de données et du cadre ORM. NULL représente une valeur inconnue et n'égale aucune valeur, y compris lui-même. Par conséquent, soyez prudent lorsque vous interrogez, comptez et connectez les tables pour éviter les données manquantes ou les erreurs logiques. L'utilisation rationnelle des fonctions et des contraintes peut réduire efficacement les interférences causées par NULL.

Allumez les journaux de requête lente MySQL et analysez les problèmes de performances localisés. 1. Modifiez le fichier de configuration ou définissez dynamiquement Slow_Query_Log et Long_Query_time; 2. Le journal contient des champs clés tels que Query_time, Lock_time, ROWS_EXAMINE pour aider à juger les goulots d'étranglement de l'efficacité; 3. Utilisez les outils MySqlDumpSlow ou Pt-Query-digest pour analyser efficacement les journaux; 4. Les suggestions d'optimisation incluent l'ajout d'index, d'éviter la sélection *, le fractionnement des requêtes complexes, etc. Par exemple, l'ajout d'un index à user_id peut réduire considérablement le nombre de lignes numérisées et améliorer l'efficacité de la requête.

GroupBy est utilisé pour regrouper les données par champ et effectuer des opérations d'agrégation, et avoir une utilisation est utilisée pour filtrer les résultats après le regroupement. Par exemple, l'utilisation de groupByCustomer_ID peut calculer la quantité de consommation totale de chaque client; L'utilisation d'avoir peut filtrer les clients avec une consommation totale de plus de 1 000. Les champs non agrégés après sélection doivent appara?tre dans GroupBY, et avoir peut être filtré conditionnellement à l'aide d'un alias ou d'expressions d'origine. Les techniques courantes incluent le comptage du nombre de chaque groupe, le regroupement de plusieurs champs et le filtrage avec plusieurs conditions.

Les transactions MySQL et les mécanismes de verrouillage sont essentielles pour le contr?le et le réglage des performances simultanés. 1. Lorsque vous utilisez des transactions, assurez-vous d'exciter explicitement et de maintenir les transactions à court pour éviter l'occupation des ressources et les ballonnements undolog en raison de longues transactions; 2. Les opérations de verrouillage incluent des verrous partagés et des verrous exclusifs, SELECT ... Forupdate Plus X Locks, SELECT ... LOCKINSHAREMODE plus les verrous S, les opérations d'écriture automatiquement et les index doivent être utilisés pour réduire la granularité des verrous; 3. Le niveau d'isolement est lisible de manière répétitive par défaut, adapté à la plupart des scénarios et les modifications devraient être prudentes; 4. L'inspection de blocage peut analyser les détails de la dernière impasse via la commande showEngineInNodbStatus, et les méthodes d'optimisation incluent l'ordre d'exécution unifié, augmentent les index et introduisent des systèmes de file d'attente.

La pagination MySQL est généralement mise en ?uvre en utilisant la limite et le décalage, mais ses performances sont médiocres sous un grand volume de données. 1. Limit contr?le le nombre de chaque page, le décalage contr?le la position de départ et la syntaxe est limitedoffsetm; 2. Les problèmes de performance sont causés par des enregistrements excessifs et la suppression des analyses de décalage, entra?nant une faible efficacité; 3. Les suggestions d'optimisation incluent l'utilisation de la pagination du curseur, de l'accélération d'index et du chargement paresseux; 4. Le curseur Paging localise le point de départ de la page suivante à travers la valeur unique du dernier enregistrement de la page précédente, en évitant le décalage, ce qui convient à l'opération "page suivante", et ne convient pas aux sauts aléatoires.
