Question

J'ai pris la sauvegarde de la base de données MySQL, mais quand je suis en train de restaurer mes procédures stockées ne reçoivent pas restauré. Est-il possible que pour la sauvegarde que nous utilisons dans --routines mysqldump commande. Peut-on faire une telle chose dans une base MySQL.

Si j'utilise mysqldump alors il est juste le dumping des tables de MySQL, mais si je suis en utilisant la commande mysql pour restaurer alors il me donne une erreur - ERREUR 1064 (42000) à la ligne 3062: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « UTILISATION BTREE ) MOTEUR = MyISAM DEFAULT CHARSET = latin1' à la ligne 6.

Merci d'avance

Était-ce utile?

La solution

vous restaurez 5.1 sauvegarde à 5,0 instance. vous devrez enlever « UTILISATION BTREE » de vos définitions de table, si vous voulez charger cette décharge dans 5.0.

Autres conseils

Une solution consiste à vider le schéma sans les données, faites une recherche remplacer pour « UTILISATION BTREE », créez le db, et charger une sauvegarde sans la table definititions.

Ou, sur une coquille un de * x, et en supposant que vous avez perl disponibles, cela peut être fait directement à l'aide d'une décharge complète et filtrer le fichier en place avec perl (ou awk, sed, rubis ...) en tant que tel:

cat name-of-dump.sql | perl -pe 's/USING BTREE//' | mysql name_of_db

ou si vous videz est compressé:

zcat name-of-dump.sql.gz | ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top