erreur mysqldump LOCK TABLES

9

Lorsque j'exécute un mysqldump, j'obtiens l'erreur suivante:

mysqldump -u root -ppassword --databases information_schema > test.sql
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES

Comment puis-je réparer cela?

à M
la source
Dépend de votre moteur de stockage. Voir: stackoverflow.com/questions/104612/…
JasonWoof

Réponses:

7

Si vous devez vider la base de données information_schema, ajoutez-y --skip-lock-tables.

mysqldump ne sauvegarde pas la base de données INFORMATION_SCHEMA par défaut. Depuis MySQL 5.1.38, mysqldump vide INFORMATION_SCHEMA si vous le nommez explicitement sur la ligne de commande, bien que vous devez actuellement utiliser également l'option --skip-lock-tables. Avant 5.1.38, mysqldump ignore silencieusement INFORMATION_SCHEMA même si vous le nommez explicitement sur la ligne de commande.

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html


la source
Dans InnoDB, utilisez le paramètre --single-transaction pour l'effet attendu dev.mysql.com/doc/refman/5.1/en/…
Fedir RYKHTIK
3

J'ai dû ajouter --single-transaction

Selon le manuel MySQL, cette option ne garantit une sauvegarde cohérente que si vous utilisez InnoDB ou BDB. Contrairement à MyISAM et Heap, ils prennent en charge les transactions.

à M
la source
0

J'ai eu le même problème hier.

La base de données a été migrée à partir d'un autre serveur et lorsque nous avons supprimé quelques utilisateurs, il y avait VIEW qui avait DEFINER inexistant et qui a causé le problème.

Il ne montre pas d'erreur propper lorsqu'il a été transféré avec l'utilisateur grant SELECT, LOCK TABLES, mais sous l'utilisateur root, une erreur correcte a été affichée.

Jakub Pinkas
la source