Comment sauvegarder / restaurer les procédures et déclencheurs stockés MySQL

Comment sauvegarder / restaurer les procédures et déclencheurs stockés MySQL

Procédures stockées et Déclencheurs sont d'abord des introductions avec mysql 5.0. Donc, si vous utilisez toujours la version MySQL Ancienne Version It à MySQL 5.0 ou plus version pour utiliser ces fonctionnalités.

Cet article vous aidera à faire un dépotoir de procédures stockées et de déclencher en utilisant le mysqltump commande.

Quelle est la procédure stockée?

Une procédure stockée, par définition, est un segment de code SQL déclaratif qui est stocké dans le catalogue de la base de données et peut être invoqué plus tard par un programme, un déclencheur ou même une procédure stockée.

Qu'est-ce que les déclencheurs?

Les déclencheurs sont des procédures spécialisées axées sur les événements, ils sont stockés et gérés par la base de données. Un déclencheur est une procédure SQL qui initie une action sur un événement (comme insérer, supprimer ou mettre à jour).

Quand nous exécutons simplement mysqltump, Il prend automatiquement la sauvegarde des déclencheurs, mais il ne sera pas de sauvegarde des procédures stockées par défaut.

Procédures et routines stockées de sauvegarde

Nous devons spécifier --routines Pour prendre la sauvegarde des procédures stockées avec des données et des tables.

La commande suivante créera une sauvegarde de toute la base de données, y compris les procédures stockées. Par exemple, votre nom de base de données est «MyDB».

mysqltump -u root -p --rout.SQL  

Pour prendre la sauvegarde des procédures et déclencheurs stockés uniquement (à l'exclusion de la structure et des données de la table), utilisez la commande suivante.

MySQLDUmp - Routines --no-Create-Info --no-Data --no-Create-db --Skip-opt MyDB> MyDB.SQL  

Restaurer les procédures

Pour restaurer les procédures stockées dans la base de données, utilisez simplement la commande suivante, mais assurez-vous que vous avez correctement pris la sauvegarde avant de la restaurer pour éviter toute perte de données.

mysql -u root -p mydb < mydb.sql  

Références: procédures stockées, déclencheurs