MySQL5.0 a été le premier à introduire les procédures stockées et les déclencheurs. Par conséquent, si vous utilisez toujours une ancienne version de MySQL, vous pouvez la mettre à niveau vers MySQL 5.0 ou supérieur pour profiter de ces fonctionnalités. Cet article explique comment utiliser la commande mysqldump pour vider les procédures stockées et les déclencheurs.
Qu'est-ce qu'une procédure stockée ?
Par définition, une procédure stockée est un morceau déclaratif de code SQL stocké dans un répertoire de base de données qui peut être appelé ultérieurement par un programme, un déclencheur ou même une procédure stockée.
Qu'est-ce qu'un déclencheur ?
Les déclencheurs sont des procédures spécialisées déclenchées par des événements qui sont stockées et gérées par la base de données. Les déclencheurs sont des procédures SQL qui lancent des opérations sur l'occurrence d'un événement, tel qu'une insertion, une suppression ou une mise à jour.
Lorsque nous exécutons simplement mysqldump, il sauvegarde automatiquement les déclencheurs mais pas les procédures stockées par défaut.
Sauvegarder les procédures et routines stockées
Nous devons spécifier --routines pour sauvegarder les procédures stockées avec des données et des tables.
La commande suivante sauvegardera l'intégralité de la base de données, y compris les procédures stockées. Par exemple, le nom de la base de données est « mydb ».
$ mysqldump -u root -p --routines mydb > mydb.sql
Pour sauvegarder uniquement les procédures stockées et les déclencheurs (à l'exclusion des tables et des données), vous devez utiliser la commande suivante.
$ mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt mydb > mydb.sql
Procédure de restauration
Pour restaurer la procédure stockée dans la base de données, utilisez simplement la commande suivante mais assurez-vous de l'avoir correctement sauvegardée avant de la restaurer pour éviter tout données perdues.
$ mysql -u root -p mydb < mydb.sql
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!